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<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;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容