当前位置:网站首页>letcode 第20题-有效的括号
letcode 第20题-有效的括号
2022-08-02 23:56:00 【法毅的博客】
题目:
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
解题思路:
字符串遍历,拿到每个字符,如果是左括号,放到栈中,如果是右括号,先判空,为空返回不匹配,否则使用pop函数,拿出栈顶元素看是否匹配,最后再判空,防止字符串为单个左括号的情况[
import java.util.Stack
class Solution {
public boolean isValid(String s) {
Stack[Character] stack = new Stack<>();
for(int i = 0;i<s.length();i++){
char c = s.charAt(i);
if(c == '(' || c == '[' || c == '{' ){
stack.push(c);
}eles{
if(stack.isEmpty()){
return false;
}
char topChar = stack.pop();
if(c == ']' && topChar != '['){
return false;
}
if(c == ')' && topChar != '('){
return false;
}
if(c == '}' && topChar != '{'){
return false;
}
}
}
return stack.isEmpty();
}
}
边栏推荐
猜你喜欢
随机推荐
年近30 ,4月无情被辞,想给划水的兄弟提个醒...
从一文中了解SSRF的各种绕过姿势及攻击思路
KubeSphere监控失效为NAN的问题
pytest-常用运行参数
matplotlib中的3D绘图警告解决:MatplotlibDeprecationWarning: Axes3D(fig) adding itself to the figure
@GetMapping、@PostMapping、@PutMapping、@DeleteMapping的区别
6、Powershell命令配置Citrix PVS云桌面桌面注销不关机
程序员英语自我介绍
如何突破测试/开发程序员思维?一种不一样的感觉......
典型相关分析CCA计算过程
用了TCP协议,就一定不会丢包吗?
2022 China Eye Expo, Shandong Eye Health Exhibition, Vision Correction Instrument Exhibition, Eye Care Products Exhibition
智能合约安全-可重入攻击(SW107-Reentrancy)
谷歌 Chrome 浏览器 104 正式版发布:加快网页加载,蓝牙 API 改进
C# 异步编程(async和await)
TensorFlow学习记录(一):基本介绍
精心整理16条MySQL使用规范,减少80%问题,推荐分享给团队
D experimental new anomaly
ORA-55610: Invalid DDL statement on history-tracked table
主流定时任务解决方案全横评