美文网首页ACM题库~
LeetCode 20. Valid Parentheses

LeetCode 20. Valid Parentheses

作者: 关玮琳linSir | 来源:发表于2017-09-12 16:48 被阅读11次
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', 
determine if the input string is valid.

The brackets must close in the correct order, "()" and "()[]{}" 
are all valid but "(]" and "([)]" are not.

题意:括号要匹配

思路:用队列,遇见左的就入,遇见右的就出

java代码:

public static boolean isValid(String s) {
        char[] chars = s.toCharArray();
        List<Character> result = new ArrayList<>();
        for (int i = 0; i < chars.length; i++) {
            if (chars[i] == '(' || chars[i] == '[' || chars[i] == '{') {
                result.add(chars[i]);
            } else {
                if (result.size()==0) return false;
                Character temp = result.remove(result.size() - 1);
                if (temp == '(' && chars[i] != ')') return false;
                if (temp == '[' && chars[i] != ']') return false;
                if (temp == '{' && chars[i] != '}') return false;
            }
        }
        if (result.size() == 0) return true;
        else return false;
    }

相关文章

网友评论

    本文标题:LeetCode 20. Valid Parentheses

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