leetcode 20. 有效的括号
一、题目
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
示例 1:
输入:s = "()"
输出:true
二、解法
go:
func isValid(s string) bool {
stk:=make([]byte,0)
n:=len(s)
m:=map[byte]byte{
')':'(',
']':'[',
'}':'{',
}
for i:=0;i<n;i++{
if _,ok:=m[s[i]];ok{
if len(stk)==0||stk[len(stk)-1]!=m[s[i]]{
return false
}
stk=stk[:len(stk)-1]
}else{
stk=append(stk,s[i])
}
}
return len(stk)==0
}
java:
不用map,在入栈的时候改变一下入栈符号即可
class Solution {
public boolean isValid(String s) {
Deque<Character> stack=new ArrayDeque<>();
for(int i=0;i<s.length();i++){
char ch=s.charAt(i);
if(ch=='('){
stack.push(')');
}else if(ch=='['){
stack.push(']');
}else if(ch=='{'){
stack.push('}');
}else if(stack.isEmpty()||stack.peek()!=ch){
return false;
}else{
stack.poll();
}
}
return stack.isEmpty();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)