有效的括号--leetcode

  • 有效的括号

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

左括号必须用相同类型的右括号闭合。

左括号必须以正确的顺序闭合。

每个右括号都有一个对应的相同类型的左括号。

示例 1:

输入:s = "()"

输出:true

示例 2:

输入:s = "()[]{}"

输出:true

示例 3:

输入:s = "(]"

输出:false

示例 4:

输入:s = "([])"

输出:true

示例 5:

输入:s = "([)]"

输出:false

cpp 复制代码
class Solution {
public:
    bool isValid(string s) {
        stack<char> stk;
        for (int i = 0; i < s.size(); ++i) {
            if (stk.empty()) {
                stk.push(s[i]);
            } else {
                if (stk.top() == '[' && s[i] == ']') {
                    stk.pop();
                } else if (stk.top() == '{' && s[i] == '}') {
                    stk.pop();
                } else if (stk.top() == '(' && s[i] == ')') {
                    stk.pop();
                } else {
                    stk.push(s[i]);
                }
            }
        }
        if (stk.empty()) {
            return true;
        }
        return false;
    }
};
相关推荐
NAGNIP1 天前
机器学习特征工程中的特征选择
算法·面试
ayaya_mana1 天前
VS Code 远程开发:SSH连接与远程资源管理器的配置
linux·ide·windows·vscode·远程资源管理
l1t1 天前
DeepSeek辅助编写的利用位掩码填充唯一候选数方法求解数独SQL
数据库·sql·算法·postgresql
choumin1 天前
在 Debian 上安装并运行 PoCL
linux·编译·安装·pocl
Z1Jxxx1 天前
反序数反序数
数据结构·c++·算法
副露のmagic1 天前
更弱智的算法学习 day25
python·学习·算法
求梦8201 天前
【力扣hot100题】移动零(1)
算法·leetcode·职场和发展
NAGNIP1 天前
机器学习中的数据预处理方法大全!
算法·面试
涛涛北京1 天前
Soft-Actor-Critic算法-连续环境
算法
vyuvyucd1 天前
C++排序算法全解析
java·数据结构·算法