之前做过这个题目很多次,但是一直没有深入来理解,建议做这个题目的小伙伴可以根据代码来理清思路
public boolean isValid(String s) {
Stack<Character> stack = new Stack<>();
char[] ss = s.toCharArray();
for(int i = 0; i < ss.length ;i++){
if(ss[i] == '(')
stack.push(')');
else if(ss[i] == '[')
stack.push(']');
else if(ss[i] == '{')
stack.push('}');
else if(stack.isEmpty() || stack.peek() != ss[i])
return false;
else
stack.pop();
}
return stack.isEmpty();
}
就这样