0
点赞
收藏
分享

微信扫一扫

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

code_balance 2022-02-28 阅读 61
题目:
  • 利用栈实现判断字符串中的括号是否匹配
解法
  /**
     * 判断括号是否匹配
     * 例如:{()[]} :匹配
     * {{[()}} :不匹配
     **/
    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 条评论