用java输入一个包含花括号、中括号、小括号的字符串判断括号是否正确输出判断结果。
可以使用栈来判断括号是否正确。遍历字符串,当遇到左括号时,将其压入栈中,当遇到右括号时,判断栈顶的左括号是否与之匹配,如果匹配则弹出栈顶元素,否则返回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
原文地址: https://www.cveoy.top/t/topic/hLaT 著作权归作者所有。请勿转载和采集!