leetcode-20-easy

Valid Parentheses
思路一: 用栈处理,括号匹配就出栈,如果最后栈不为空,说明输入的括号不匹配

public boolean isValid(String s) {
    char[] chars = s.toCharArray();

    Deque<Character> stack = new ArrayDeque<>();
    for (char aChar : chars) {
        if (aChar == ')' || aChar == ']' || aChar == '}') {
            if (stack.isEmpty()) return false;

            Character first = stack.peekFirst();
            if ((first == '(' && aChar == ')') || (first == '[' && aChar == ']') || (first == '{' && aChar == '}')) {
                stack.pop();
                continue;
            }
        }

        stack.push(aChar);
    }

    return stack.isEmpty();
}
posted @ 2022-10-10 18:02  iyiluo  阅读(9)  评论(0)    收藏  举报