思路:我们先创建一个栈,让左括号入栈,与右括号判断
Stack stack=new Stack<>();
将字符串中的符号转化为字符
char ch = s.charAt(i);
完整代码如下:
class Solution {
public boolean isValid(String s) {
if (s == null) return false;
Stack<Character> stack=new Stack<>();
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (ch == '(' || ch == '{' || ch == '[') {
stack.push(ch);
} else {
//情况2
if (stack.empty()) {
return false;
}
char topL = stack.peek();
if (topL == '(' && ch == ')' || topL == '{' && ch == '}'
|| topL == '[' && ch == ']') {
stack.pop();
} else {
return false;
}
}
}
//情况3
if(!stack.empty()){
return false;
}
return true;
}
}