当前位置:网站首页>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();
}
}边栏推荐
- 2022 China Eye Expo, Shandong Eye Health Exhibition, Vision Correction Instrument Exhibition, Eye Care Products Exhibition
- Rasa 3.x study series - Rasa - Issues 4792 socket debug logs clog up debug feed study notes
- 【问题征集】向 iPod 之父、iPhone 联合设计者、Google Nest 创始人 Tony Fadell 提问啦
- Servlet——请求(request)与响应(response)
- vue3的keepAlive缓存组件
- random.nextint()详解
- js基础知识整理之 —— Math
- Last Common Ancestor (LCA) Study Notes | P3379 【Template】Least Common Ancestor (LCA) Problem Solution
- pytest-常用运行参数
- 程序员英语自我介绍
猜你喜欢
随机推荐
Flink / Scala - 使用 CountWindow 实现按条数触发窗口
面试题 08.07. 无重复字符串的排列组合 ●●
Teach you to locate online MySQL slow query problem hand by hand, package teaching package meeting
D with json
NLP commonly used Backbone model cheat sheet (1)
十三、数据回显
北路智控上市首日破发:公司市值59亿 募资15.6亿
MySQL的多表查询(1)
NLP常用Backbone模型小抄(1)
流程控制for和while循环语句
线性DP
resubmit 渐进式防重复提交框架简介
DownMusic summary record
从一文中了解SSRF的各种绕过姿势及攻击思路
机器学习-特征映射方法
优秀论文以及思路分析02
九零后程序员心声:互联网的同行们,别卷了,再卷人都卷没了
【Leetcode】305.岛屿数量II(困难)
数据库审计 - 网络安全的重要组成部分
CIO修炼手册:成功晋升CIO的七个秘诀









