可以使用栈来判断括号是否正确。遍历字符串,当遇到左括号时,将其压入栈中,当遇到右括号时,判断栈顶的左括号是否与之匹配,如果匹配则弹出栈顶元素,否则返回false。最后判断栈是否为空,如果为空则表示所有括号都正确匹配,返回true,否则返回false。

以下是使用Java实现的代码:

import java.util.*;

public class BracketChecker {
    public static boolean checkBrackets(String str) {
        Stack<Character> stack = new Stack<>();
        for (char c : str.toCharArray()) {
            if (c == '{' || c == '[' || c == '(') {
                stack.push(c);
            } else if (c == '}' || c == ']' || c == ')') {
                if (stack.isEmpty()) {
                    return false;
                }
                char top = stack.pop();
                if ((c == '}' && top != '{') || (c == ']' && top != '[') || (c == ')' && top != '(')) {
                    return false;
                }
            }
        }
        return stack.isEmpty();
    }

    public static void main(String[] args) {
        String str = "{[()]}";
        boolean result = checkBrackets(str);
        System.out.println(result);  // 输出 true

        str = "{[()]}(";
        result = checkBrackets(str);
        System.out.println(result);  // 输出 false
    }
}

在上面的代码中,checkBrackets方法用于判断括号是否正确,main方法中给出了两个示例。第一个示例中的括号是正确匹配的,第二个示例中的括号不匹配,所以输出结果分别为true和false

用java输入一个包含花括号、中括号、小括号的字符串判断括号是否正确输出判断结果。

原文地址: https://www.cveoy.top/t/topic/hLaT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录