class Solution {
public boolean isValid(String s) {
Stack<Character> stack = new Stack<>();
char[] chs = s.toCharArray();
for (int i = 0; i < chs.length; ++i) {
if (chs[i] == ')' || chs[i] == ']' || chs[i] == '}') {
if (!stack.isEmpty()) {
if (chs[i] == ')' && stack.pop() != '(')
return false;
else if (chs[i] == ']' && stack.pop() != '[')
return false;
else if (chs[i] == '}' && stack.pop() != '{')
return false;
} else
return false;
} else {
stack.add(chs[i]);
}
}
//core
if (!stack.isEmpty())
return false;
return true;
}
}