原题链接: https://oj.leetcode.com/problems/valid-parentheses/
public boolean isValid(String s) {
if (s == null) return false;
int length = s.length();
char c;
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < length; i++) {
c = s.charAt(i);
switch (c) {
case '(':
case '{':
case '[':
stack.push(c);
break;
case ')':
try {
char prevChar = stack.pop();
if (prevChar != '(') return false;
} catch (Exception e) {
return false;
}
break;
case '}':
try {
char prevChar = stack.pop();
if (prevChar != '{') return false;
} catch (Exception e) {
return false;
}
break;
case ']':
try {
char prevChar = stack.pop();
if (prevChar != '[') return false;
} catch (Exception e) {
return false;
}
break;
default:
return false;
}
}
if (!stack.isEmpty()) return false;
return true;
}