LeetCode 20. 有效的括号
原题链接
简单
作者:
caichuntao
,
2023-06-19 14:18:17
,
所有人可见
,
阅读 96
方法1:栈
时间复杂度:$O(n)$
空间复杂度:$O(n)$
解题思路
https://leetcode.cn/problems/valid-parentheses/solution/yuan-lai-hui-luo-ji-qing-xi-jian-dan-yi-yjcme/
Java 代码
class Solution {
public boolean isValid(String s) {
Stack<Character> stk = new Stack<>();
for (Character c : s.toCharArray()) {
if (c == '(' || c == '[' || c == '{') {
stk.push(c);
} else if (c == ')' && !stk.empty() && stk.peek() == '(') {
stk.pop();
} else if (c == ']' && !stk.empty() && stk.peek() == '[') {
stk.pop();
} else if (c == '}' && !stk.empty() && stk.peek() == '{') {
stk.pop();
} else {
return false;
}
}
//可能还有多余的左括号
return stk.empty();
}
}