当前位置:网站首页>每日一题-有效的括号-0719
每日一题-有效的括号-0719
2022-08-05 05:17:00 【菜鸡程序媛】
题目
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
(1)左括号必须用相同类型的右括号闭合。
(2)左括号必须以正确的顺序闭合。
思路
- 初始化栈,用来存储字符串中的字符
- 如果是左面的符号,则入栈;是右面的符号的话,如果当前的栈顶是和右括号匹配的左括号,则将左括号弹出,相互抵消,否则直接入栈,直接返回false
- 最后判断一下栈是否是空的
代码
class Solution {
public boolean isValid(String s) {
if(s == null || s.length() == 0)
return false;
Stack<Character> stack = new Stack<>();
for(int i = 0; i < s.length(); i ++){
if(s.charAt(i) == '(' || s.charAt(i) == '{' || s.charAt(i) == '['){
stack.push(s.charAt(i));
}else if(s.charAt(i) == ')'){
if(!stack.isEmpty() && stack.peek() == '(')
stack.pop();
else{
stack.push(s.charAt(i));
return false;
}
}else if(s.charAt(i) == '}'){
if(!stack.isEmpty() && stack.peek() == '{')
stack.pop();
else{
stack.push(s.charAt(i));
return false;
}
}else{
if(!stack.isEmpty() && stack.peek() == '[')
stack.pop();
else{
stack.push(s.charAt(i));
return false;
}
}
}
return stack.isEmpty();
}
}
边栏推荐
猜你喜欢

网络ID,广播地址,掩码位数计算

【ts】typescript高阶:模版字面量类型

【UiPath2022+C#】UiPath 练习-数据操作

A deep learning code base for Xiaobai, one line of code implements 30+ attention mechanisms.

网管日记:故障网络交换机快速替换方法

Tensorflow steps on the pit notes and records various errors and solutions

三、自动配置源码分析

电子产品量产工具(4)-UI系统实现

沁恒MCU从EVT中提取文件建立MounRiver独立工程

Jupyter notebook选择不同的Anaconda环境作为内核运行
随机推荐
《基于机器视觉测量系统的工业在线检测研究》论文笔记
CVPR最佳论文得主清华黄高团队提出首篇动态网络综述
[Pytorch study notes] 9. How to evaluate the classification results of the classifier - using confusion matrix, F1-score, ROC curve, PR curve, etc. (taking Softmax binary classification as an example)
电子产品量产工具(4)-UI系统实现
网络通信及相关函数介绍
C语言联合体union占用空间大小问题
framebuffer应用编程及文字显示(2)
1004 成绩排名 (20 分)
基于STM32F4的FFT+测频率幅值相位差,波形显示,示波器,时域频域分析相关工程
(C语言)计算结构体大小——结构体内存对齐
【UiPath2022+C#】UiPath控制流程概述
《基于机器视觉的输电线路交叉点在线测量方法及技术方案》论文笔记
网络信息安全运营方法论 (上)
C语言入门笔记 —— 初识
读论文- pix2pix
ECCV2022 | RU & Google propose zero-shot object detection with CLIP!
C语言查看大小端(纯代码)
6k+ star,面向小白的深度学习代码库!一行代码实现所有Attention机制!
电子产品量产工具(3)- 文字系统实现
(C语言)动态内存管理