利用栈实现判断字符串中的括号是否匹配

阅读 61

2022-02-28

题目:
  • 利用栈实现判断字符串中的括号是否匹配
解法
  /**
     * 判断括号是否匹配
     * 例如:{()[]} :匹配
     * {{[()}} :不匹配
     **/
    private static boolean judgeBracket(String s) {
        if (s.length() == 0) return false;
        Stack<Character> stack = new Stack();
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c == '{' || c == '(' || c == '[') {
                stack.push(c);
            }
            if (c == '}') {
                return !stack.isEmpty() && (stack.pop() == '{');
            }

            if (c == ')') {
                return !stack.isEmpty() && (stack.pop() == '(');
            }

            if (c == ']') {
                return !stack.isEmpty() && (stack.pop() == '[');
            }
        }
        return stack.isEmpty();
    }

精彩评论(0)

0 0 举报