借助Stack,如果为{【(入栈,如果为}】)出栈,但要判断栈是否为空,以及对应字符匹配
public boolean isValid(String s) {
Stack<Character> ss =new Stack<>();
for(int i=0;i<s.length();i++){
if('('==s.charAt(i)||'{'==s.charAt(i)||'['==s.charAt(i)){
ss.push(s.charAt(i));
}else if(')'==s.charAt(i)){
if(ss.isEmpty()||ss.pop()!='('){
return false;
}
}
else if(']'==s.charAt(i)){
if(ss.isEmpty()||ss.pop()!='['){
return false;
}
}
else if('}'==s.charAt(i)){
if(ss.isEmpty()||ss.pop()!='{'){
return false;
}
}
}
if(!ss.isEmpty())
return false;
return true;
}