这个题目的意思就是和消消乐一样,左右括号必须匹配
此题目存在三种不匹配的情况:
①左括号多了:例如( [ ]{ }
②括号不匹配:( )[ { ) ]
③右括号多了:( ){ [ ] } ) ) )
题解代码:
class Solution {
public boolean isValid(String s) {
Stack<Character> stack=new Stack<>();
if(s.length()%2!=0) return false;
for(int i=0;i<s.length();i++){
if(s.charAt(i)=='('){
stack.push(')');
}else if(s.charAt(i)=='{'){
stack.push('}');
}else if(s.charAt(i)=='['){
stack.push(']');
}else if(stack.empty()|| s.charAt(i)!=stack.peek()){
return false;
}else{
stack.pop();
}
}
return stack.isEmpty();
}
}