LeetCode #20 有效括号
Posted 三笠·阿卡曼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode #20 有效括号相关的知识,希望对你有一定的参考价值。
题目
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-parentheses
示例
最佳代码
class Solution {
public boolean isValid(String s) {
Deque<Character> stack = new LinkedList<>();
//遍历字符串中所有字符依次判断
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
//判断当前字符是左括号,还是右括号
//如果是左括号,直接将对应的右括号入栈
if (ch == '(') {
stack.push(')');
} else if (ch == '[') {
stack.push(']');
} else if (ch == '{') {
stack.push('}');
} else {
//如果是右括号
if (stack.isEmpty()) {
return false;
}
if (stack.pop() != ch) {
return false;
}
}
}
return stack.isEmpty();
}
}
以上是关于LeetCode #20 有效括号的主要内容,如果未能解决你的问题,请参考以下文章