题目描述
示例 1:
输入: “()”
输出: true
示例 2:
输入: “()[]{}”
输出: true
示例 3:
输入: “(]”
输出: false
示例 4:
输入: “([)]”
输出: false
示例 5:
输入: “{[]}”
输出: true
思路分析
代码实现
public boolean isValid(String s) {
//1.特判
if (s.isEmpty()) {
return true;
}
//2.创建辅助栈
Stack<Character> stack=new Stack<Character>();
//3.遍历
for (char c : s.toCharArray()) {
if (c=='(') {
stack.push(')');
}else if (c=='[') {
stack.push(']');
}else if (c=='{') {
stack.push('}');
}else if (stack.isEmpty()||c!=stack.pop()) {
return false;
}
}
return stack.isEmpty();
}