有效的括号--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;
    }
};
相关推荐
_日拱一卒5 小时前
LeetCode:226翻转二叉树
数据结构·算法·leetcode
踩坑记录5 小时前
leetcode hot100 64. 最小路径和 medium 递归优化
leetcode·深度优先
坚持就完事了5 小时前
YARN资源管理器
大数据·linux·hadoop·学习
BirdenT5 小时前
20260424紫题训练
c++·算法
还是阿落呀5 小时前
基本控制结构
开发语言·c++·算法
样例过了就是过了6 小时前
LeetCode热题100 最长有效括号
c++·算法·leetcode·动态规划
Joseph Cooper6 小时前
Linux regmap 子系统实战:在驱动中 dump PMIC 寄存器定位供电问题
linux·运维·服务器
wayz116 小时前
Day 18:Keras深度学习框架入门
人工智能·深度学习·神经网络·算法·机器学习·keras
一行代码一行诗++6 小时前
C语言中if的使用
c语言·c++·算法
计算机安禾6 小时前
【Linux从入门到精通】第35篇:容器化技术预备——Docker安装与基本概念
linux·运维·docker