美文网首页
20. 有效的括号

20. 有效的括号

作者: 伶俐ll | 来源:发表于2020-12-01 11:55 被阅读0次
    题目链接

    题目描述

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

    有效字符串需满足:

    左括号必须用相同类型的右括号闭合。
    左括号必须以正确的顺序闭合。
    注意空字符串可被认为是有效字符串。

    示例 1:

    输入: "()"
    输出: true

    示例 2:

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

    示例 3:

    输入: "(]"
    输出: false

    示例 4:

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

    示例 5:

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

    代码实现

    public static boolean isValid(String s) {
    
            Stack<Character> leftStack= new Stack();
    
            int len = s.length();
            for (int i = 0;i < len;i++){
                char c = s.charAt(i);
                if (c == '[' || c == '{' || c == '('){
                    leftStack.push(c);
                }else {
                    if (leftStack.isEmpty()) return false;
                    char left = leftStack.pop();
                    if (left == '(' && c != ')') return false;
                    if (left == '{' && c != '}') return false;
                    if (left == '[' && c != ']') return false;
                }
            }
            return leftStack.isEmpty();
        }
    

    相关文章

      网友评论

          本文标题:20. 有效的括号

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