leetcode题解--括号匹配
括号匹配
可以考虑使用数组来模拟栈操作,另外让top=1,省去判断栈空,和数组越界的问题
在遇到)时,判断栈顶是否是(,以此类推
代码如下:
Public boolean isvalid(String s){
char[] stack = new char[s.length()+1];
int top=1;
for(char c:s.toCharArray()){
if(c=='('||c=='['||c=='{'){
stack[top++]=c;
}
else if(c==')'&&stack[--top]!='('){
return false;
}
else if(c==']'&&stack[--top]!='['){
return false;
}
else if(c=='{'&&stack[--top]!='}'){
return false;
}
}
return top==1;
}
本博客所有文章除特别声明外,大部分为学习心得,欢迎与博主联系讨论