【LeetCode热题100】20. 有效的括号(栈)

一.题目要求

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

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

二.题目难度

简单

三.输入样例

示例 1:
输入:s = “()”
输出:true

示例 2:
输入:s = “()[]{}”
输出:true

示例 3:
输入:s = “(]”
输出:false

提示:
1 <= s.length <= 104
s 仅由括号 ‘()[]{}’ 组成

四.解题思路

匹配右括号记得判空

五.代码实现

class Solution {
public:
    bool isValid(string s) {
        
        stack<char> stk;
        for(string::iterator it = s.begin(); it != s.end(); it++)
        {
            if(*it == '{' || *it == '(' || *it == '[')
                stk.push(*it);
            
            if(*it == '}') 
            {
                if(!stk.empty() && stk.top() == '{') stk.pop();
                else stk.push(*it);
            }
            if(*it == ']') 
            {
                if(!stk.empty() && stk.top() == '[') stk.pop();
                else stk.push(*it);
            }
            if(*it == ')') 
            {
                if(!stk.empty() && stk.top() == '(') stk.pop();
                else stk.push(*it);
            }
        }
        return stk.empty();
    }
};

六.题目总结

相关推荐

  1. LeetCode100】20. 有效括号

    2024-03-30 23:20:06       46 阅读
  2. LeetCodeHot100 - 有效括号

    2024-03-30 23:20:06       37 阅读
  3. leetcodeHOT 32. 最长有效括号

    2024-03-30 23:20:06       35 阅读
  4. LeetCodeHot100 - 最长有效括号

    2024-03-30 23:20:06       32 阅读
  5. LeetCode第20 - 有效括号

    2024-03-30 23:20:06       66 阅读
  6. LeetCode第98 - 有效括号

    2024-03-30 23:20:06       65 阅读
  7. 应用:20. 有效括号LeetCode

    2024-03-30 23:20:06       33 阅读
  8. Leetcode有效括号

    2024-03-30 23:20:06       31 阅读
  9. LeetCode_Hot100__20有效括号_Python

    2024-03-30 23:20:06       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-30 23:20:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-30 23:20:06       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-30 23:20:06       82 阅读
  4. Python语言-面向对象

    2024-03-30 23:20:06       91 阅读

热门阅读

  1. 《leetcode hot100》2. 两数相加

    2024-03-30 23:20:06       38 阅读
  2. 【算法笔记】 树形DP算法总结

    2024-03-30 23:20:06       44 阅读
  3. Linux中定时任务的配置及注意事项

    2024-03-30 23:20:06       37 阅读
  4. 微机原理与应用精炼100题

    2024-03-30 23:20:06       32 阅读
  5. 钉钉机器人发送自定义消息 PHP 干货

    2024-03-30 23:20:06       45 阅读
  6. 创建springboot项目的两种方式

    2024-03-30 23:20:06       39 阅读
  7. openGauss 客户端工具DataStudio

    2024-03-30 23:20:06       46 阅读
  8. leetcode283-Move Zeroes

    2024-03-30 23:20:06       40 阅读