给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
栈
class Solution {
public boolean isValid(String s) {
Stack<Character> stack1 = new Stack<Character>();
for(int i = 0;i < s.length();i++){
char r = s.charAt(i);
if(r == '('||r == '{'|| r == '['){
stack1.push(r);
}
else{
if(stack1.empty()){
return false;
}
if((r == ')'&&stack1.pop()!='(')||(r == '}'&&stack1.pop()!='{')||(r == ']'&&stack1.pop()!='[')){
return false;
}
}
}
if(!stack1.empty()){
return false;
}
return true;
}
}