20.有效括号
20.有效括号
给定一个只包括
'('
,')'
,'{'
,'}'
,'['
,']'
的字符串s
,判断字符串是否有效。有效字符串需满足:
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
示例1 :
输入:s = "()"
输出:true示例2:
输入:s = "(){}[]"
输出:true示例3:
输入:s = "([)]"
输出:false提示:
1 <= s.length <= 104
s
仅由括号'()[]{}'
组成
解析:很简单的解法,因为是一对括号,不管哪种,括号左右是不一样的,所以我们使用栈来解决这个问题,只要出现了左半边的括号,我们就把右半边元素入栈,当栈为空,或者元素不匹配就说明不是匹配的括号
java:
class Solution{
public boolean isValid(String s){
if(s.isEmpty())
return true;
Stack<Character> stack = new Stack<Character>();
for(char c : s.toCharArray()){
if(c == '(')
stack.push(')');
else if(c == '[')
stack.push(']');
else if(c == '{')
stack.push('}');
// 对出现右半边括号的元素进行判断
else if(stack.empty() || c != stack.pop())
return false;
}
if(stack.empty())
return true;
return false;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)