1.问题
https://leetcode-cn.com/problems/valid-parentheses/
2.思路
还是栈的思路,左括号入栈,右括号不入栈只出栈,出栈的判断是不是对应的左括号
3.coding
public static boolean isValid(String s) {
int length = s.length();
Stack<Character> stack = new Stack();
for (int i = 0; i < length; i++) {
switch (s.charAt(i)) {
case '{':
case '[':
case '(':
stack.push(s.charAt(i));
break;
case '}':
if (stack.isEmpty() || '{' != stack.pop()) {
return false;
}
break;
case ']':
if (stack.isEmpty() || '[' != stack.pop()) {
return false;
}
break;
case ')':
if (stack.isEmpty() || '(' != stack.pop()) {
return false;
}
break;
default:
break;
}
}
return stack.isEmpty();
}