美文网首页
20. Valid Parentheses

20. Valid Parentheses

作者: 一里山 | 来源:发表于2017-04-13 09:37 被阅读24次

    判断括号顺序是否正确,用栈

    1. 考虑空输入、可能含有空格、超长输入
    2. 先获取字符串长度,并依此建立数组(栈)
    3. 若为左括号,入栈;
    4. 若为右括号,对比是否与栈顶元素相同,若是,则栈顶出栈,继续进行直到末尾;若不同,则直接返回false

    直接求解
    结果:AC

    这是排名第一的答案,真的好简洁,我写的和他的一比较简直一坨**

    public boolean isValid(String s) {
        Stack<Character> stack = new Stack<Character>();
        for (char c : s.toCharArray()) {
            if (c == '(')
                stack.push(')');
            else if (c == '{')
                stack.push('}');
            else if (c == '[')
                stack.push(']');
            else if (stack.isEmpty() || stack.pop() != c)
                return false;
        }
        return stack.isEmpty();
    }
    

    相关文章

      网友评论

          本文标题:20. Valid Parentheses

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