力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
用栈解决
class Solution {
public boolean isValid(String s) {
if(s.length() == 0){
return true;
}
Stack<Character> stack = new Stack();
for(Character ch : s.toCharArray()){
if(ch == '(' || ch == '[' || ch == '{'){
stack.push(ch);
}else{//都是右边的括号,对右边的括号进行判断
if(stack.isEmpty()){
return false;
}else{
char temp = stack.pop();
if(ch == ')'){
if(temp!='('){
return false;
}
}else if(ch == ']'){
if(temp!='['){
return false;
}
}else if(ch == '}'){
if(temp!='{'){
return false;
}
}
}
}
}
return stack.isEmpty() ? true : false;
}
}