【发布时间】:2021-12-22 13:18:37
【问题描述】:
下面是我的 Leetcode 20 代码。(给定一个字符串 s 只包含字符 '(', ')', '{', '}', '[' 和 ']',确定输入字符串是否为有效。
输入字符串在以下情况下有效:
左括号必须用相同类型的括号闭合。 开括号必须以正确的顺序闭合。)
当输入为“(])”时,我仍然得到了正确的结果。谁能让我知道我的代码有什么问题?谢谢!
class Solution {
public boolean isValid(String s) {
Stack<Character> stack = new Stack<>();
for(char c: s.toCharArray()){
if(c == '(' || c == '[' || c == '{'){
stack.push(c);
}else{
if(stack.empty()){
return false;
}
if(c == ')' && stack.peek() == '('){
stack.pop();
}
if(c == ']' && stack.peek() == '['){
stack.pop();
}
if(c == '}' && stack.peek() == '{'){
stack.pop();
}
}
}return stack.empty();
}
}
【问题讨论】: