有效的括号

20. Valid Parentheses

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

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。

注意空字符串可被认为是有效字符串。

示例 1:

输入: "()"
输出: true

示例 2:

输入: "()[]{}"
输出: true

示例 3:

输入: "(]"
输出: false

示例 4:

输入: "([)]"
输出: false

示例 5:

输入: "{[]}"
输出: true

C++代码

class Solution {
public:
    bool isValid(string s) {
        stack<char> stack;
        for (int i = 0; i < s.size(); i++) {
            if (s[i] == '(' || s[i] == '{' || s[i] == '[') {
                stack.push(s[i]);
            } else {
                if (stack.size() == 0) {
                    return false;
                }
                
                char c = stack.top();
                stack.pop();

                char match;
                if(s[i] == ')')
                    match = '(';
                else if(s[i] == ']')
                    match = '[';
                else {
                    assert(s[i] == '}');
                    match = '{';
                }

                if(c != match)
                    return false;
            }
            
        }
        if (stack.size() != 0) {
            return false;
        }
        return true;
    }
};

150. Evaluate Reverse Polish Notation

71. Simplify Path

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用最容易的方式学会单链表(Python实现)

    在本博客中,我们介绍单链表这种数据结构,链表结构为基于数组的序列提供了另一种选择(例如Python列表)。

    宇宙之一粟
  • 主从复制的原理

    宇宙之一粟
  • 鸵鸟算法

    鸵鸟算法:把头埋到沙子里,假装根本没有问题发生[。每个人对该方法的看法都不相同。数学家认为这种方法根本不能接受,不论代价有多大,都要彻底防止死锁的产生;工程师们...

    宇宙之一粟
  • 使用Vue 3构建更好的高阶组件

    高阶组件(HOC)是使用模板声明性地向您的应用程序添加某些功能的组件。我相信即使引入了Composition API,它们仍将保持非常重要的关联。

    公众号---人生代码
  • React和Vue中,是如何监听变量变化的

    假设有这样一个场景,父组件传递子组件一个A参数,子组件需要监听A参数的变化转换为state。

    用户2356368
  • ES6 系列之 let 和 const

    初学者可能会觉得只有 condition 为 true 的时候,才会创建 value,如果 condition 为 false,结果应该是报错,然而因为变量提升...

    夜尽天明
  • 前端中的接口聚合

    详见:https://github.com/LuckyWinty/ToolLibrary/tree/master/src/RequestCombo

    winty
  • AQS解析与实战

    前段时间在面试,发现面试官都有问到同步器AQS的相关问题。AQS为Java中几乎所有的锁和同步器提供一个基础框架,派生出如ReentrantLock、Semap...

    捡田螺的小男孩
  • 鲁迅说过:有bug不可怕,改bug才可怕

    不过,近日,据网友发现,“鲁迅说过的话”检索系统已经上线,并表示,以后恶搞鲁迅先生名言名句可得小心了,不然,检索系统会来‘打假’,哈哈哈...”看来下一届学生不...

    IT大咖说
  • ND(网龙)offer之路

    写在前面:    先声明,本人不是一匹资深的老牛,只是在今年暑假的时候搜题目的时候刚好发现牛客网,发现名企题库挺全的(目前还没看到ND的题目,哈哈),刷了一个...

    牛客网

扫码关注云+社区

领取腾讯云代金券