美文网首页
Leecode[20] 有效的括号

Leecode[20] 有效的括号

作者: 饭板板 | 来源:发表于2020-10-11 15:27 被阅读0次

题目

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。

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

代码

       public static bool Method(string s)
        {
            var dics = new Dictionary<char, char>
            {
                { '(', ')' },
                { '{', '}' },
                { '[', ']' }
            };

            var chars = s.ToCharArray();
            if (chars.Length == 0)
            {
                return true;
            }

            Stack<char> stack = new Stack<char>();

            foreach (var item in chars)
            {
                if (dics.ContainsKey(item))
                {
                    stack.Push(item);
                }
                else
                {
                    // 注意:判断栈是否有元素
                    if (stack.Count == 0 || dics[stack.Pop()] != item)
                    {
                        return false;
                    }
                }
            }

            // 注意:栈中不能含有元素
            return stack.Count == 0;
        }
    }

相关文章

  • Leecode[20] 有效的括号

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

  • 算法分享

    字符串 1.字符串反转 Leecode3442.有效的括号 Leecode203.验证回文串 Leecode125...

  • [Leetcode] 20. 有效的括号

    20. 有效的括号 来源: 20. 有效的括号 1. 题目描述 给定一个只包括 '(',')','{','}',...

  • 力扣题解(栈)

    20. 有效的括号

  • 有效的括号-20

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

  • LeetCode-20 有效的括号

    题目:20. 有效的括号 难度:简单 分类:栈 解决方案:入栈出栈 今天我们学习第20题有效的括号,这是一道关于栈...

  • LeeCode刷题笔记4:最长有效括号

    @[TOC](最长有效括号) 题目描述 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串...

  • Leetcode 20 有效括号

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

  • 20.有效括号

    检测括号对 (),{},[]是否有效。 思路:利用堆栈。遇到左括号压入堆栈,遇到右括号从堆栈弹出并比较。注意(),...

  • 20. 有效的括号

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

网友评论

      本文标题:Leecode[20] 有效的括号

      本文链接:https://www.haomeiwen.com/subject/zkeepktx.html