栈
class Solution {
public boolean isValid(String s) {
int len=s.length();
if(len%2 ==1){
return false;
}
Stack<Character> stack = new Stack();
for( int i =0; i< len; i++){
if(s.charAt(i) =='(' || s.charAt(i) =='{' || s.charAt(i) =='['){
stack.push(s.charAt(i));
}else{
if(stack.isEmpty()){
return false;
}
}
if(s.charAt(i) ==')'){
char c = stack.pop();
if(c !='('){
return false;
}
}
if(s.charAt(i) =='}' ){
char c = stack.pop();
if(c !='{'){
return false;
}
}
if(s.charAt(i) ==']' ){
char c = stack.pop();
if(c !='['){
return false;
}
}
}
return stack.isEmpty();
}
}最后更新于
这有帮助吗?