给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
public static boolean isValid(String s) {
Stack stack = new Stack();
for(Character c : s.toCharArray()){
boolean isNext = (c == ')' || c == '}' || c == ']');
if(c == '('){
stack.push(')');
} else if(c == '{'){
stack.push('}');
} else if(c == '['){
stack.push(']');
} else if(!stack.isEmpty() && isNext){
if(c.equals(stack.peek())){
stack.pop();
} else {
return false;
}
} else {
return false;
}
}
return stack.isEmpty();
}