栈--有效的括号

作者: 暮想sun | 来源:发表于2019-12-18 12:56 被阅读0次

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

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

 public static Boolean isValidBracket(String s) {

        if (s == null || "".equals(s)) {
            return true;
        }

        //长度必须为偶数,才可能是有效字符串
        int length = s.length();
        if (length % 2 != 0) {
            return false;
        }

        Map<Character, Character> map = new HashMap<>(16);
        map.put(')','(');
        map.put(']', '[');
        map.put('}', '{');
        //将字符串数据入栈
        Stack<Character> stack = new Stack<>();
        for (int i = 0; i < length; i++) {

            Character c = s.charAt(i);

            //如果是右括号,则判断与栈顶元素是否匹配
            if(map.containsKey(c)){
                //遇到右括号,栈内元素是空,不成功
                if(stack.isEmpty()){
                    return false;
                }

                //栈顶元素弹出,匹配成功,则继续
                if(!map.get(c).equals(stack.pop())){
                    return false;
                }

                continue;
            }


            //左括号入栈
            stack.push(c);
        }
        //栈内非空,则失败
        return stack.isEmpty();
    }

相关文章

  • LeetCode-20 有效的括号

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

  • 互联网秋招刷题leetcode总结——栈与队列

    栈 括号类问题 20. 有效的括号(easy) 遍历字符串,每次与栈顶括号进行匹配,匹配成功栈顶弹出,否则继续压入...

  • 栈--有效的括号

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

  • 栈--有效的括号

    目录[https://www.jianshu.com/p/85e18c21317a] 题号[https://lee...

  • 字符串中有效的括号

    判断括号是否有效 1.使用栈的先进后出,先把前括号对应的后括号压栈 当后面再遇到后括号的时候,只用比较相等就可以了...

  • 栈--最长有效括号

    给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。例:输入: ")()())" ...

  • 栈-有效的括号(20)

  • 数据结构与算法之栈(四)

    一 目录 栈的介绍 栈的接口设计 栈的应用 - 浏览器前进后退 栈的使用 - 匹配有效括号 栈相关面试题 二 简介...

  • 8.30 leetcode刷题(1)

    栈和队列:20 有效的括号 思路:利用栈去做匹配,定义好哪种情况入栈,哪种情况出栈。最后还要判断一下栈是否为空 b...

  • 2020-09-20

    数据结构与算法系列(一)栈:如何实现有效括号的判断? 有效括号,我想很多人对LeetCode上的这道题很熟悉吧? ...

网友评论

    本文标题:栈--有效的括号

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