class Solution {
public boolean isValid(String s) {
char[] data = s.toCharArray();
Stack<Character> stack = new Stack<Character>();
//Scanner scanner = new Scanner(System.in);
for (int i = 0; i < s.length(); i++) {
if (data[i] == '(' || data[i] == '[' || data[i] == '{') stack.push(data[i]);
else if(!stack.isEmpty()){
if (data[i] == ')' && stack.peek() == '(') stack.pop();
else if (data[i] == ']' && stack.peek() == '[') stack.pop();
else if (data[i] == '}' && stack.peek() == '{') stack.pop();
else return false;
}else {
return false;
}
}
if (stack.isEmpty()) return true;
else return false;
}
}
评论里全是大佬,我这种用一个栈来pop和push的方法太过于老套而且很难想全所有情况,还是直接replace最简单,今天也是被碾压的一天呢!