LeetCode 20. Valid Parentheses

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 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)