{"title":"Java 括号匹配算法:使用栈实现","description":"本文介绍如何使用 Java 代码实现判断括号是否正确匹配的算法,并提供详细的步骤和代码示例。","keywords":"括号匹配, 算法, Java, 栈, 数据结构, 代码示例","content":"\u003cp\u003e从键盘输入一个包含有花括号\u007b\u007d、中括号\u005b\u005d、小括号\u0028\u0029的字符串,判断括号是否正确匹配,输出判断结果。\u003c/p\u003e\n\u003cp\u003e使用 Java 内容:可以使用栈来判断括号是否正确匹配。\u003c/p\u003e\n\u003cp\u003e具体步骤如下:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e创建一个空栈。\u003c/li\u003e\n\u003cli\u003e读取输入的字符串中的每个字符,如果是左括号(花括号、中括号、小括号),则将其压入栈中。\u003c/li\u003e\n\u003cli\u003e如果是右括号(花括号、中括号、小括号),则检查栈是否为空。如果栈为空,则括号不匹配,输出结果为不匹配。\u003c/li\u003e\n\u003cli\u003e如果栈不为空,则取出栈顶元素。\u003c/li\u003e\n\u003cul\u003e\n\u003cli\u003e如果栈顶元素与当前字符匹配,则继续读取下一个字符。\u003c/li\u003e\n\u003cli\u003e如果栈顶元素与当前字符不匹配,则括号不匹配,输出结果为不匹配。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cli\u003e重复步骤3和4,直到字符串中的所有字符都被处理。\u003c/li\u003e\n\u003cli\u003e如果栈为空,则括号匹配,输出结果为匹配。如果栈不为空,则括号不匹配,输出结果为不匹配。\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e以下是 Java 代码的实现:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eimport java.util.*;\n\npublic class BracketMatching {\n public static void main(String[] args) {\n Scanner scanner = new Scanner(System.in);\n System.out.println("请输入包含花括号\u007b\u007d、中括号\u005b\u005d、小括号\u0028\u0029的字符串:");\n String str = scanner.nextLine();\n\n boolean isMatched = checkBracketMatching(str);\n if (isMatched) {\n System.out.println("括号匹配");\n } else {\n System.out.println("括号不匹配");\n }\n }\n\n public static boolean checkBracketMatching(String str) {\n Stack\u003cCharacter\u003e stack = new Stack\u003c\u003e();\n\n for (int i = 0; i \u003c str.length(); i++) {\n char c = str.charAt(i);\n if (c == '\u007b' || c == '\u005b' || c == '\u0028') {\n stack.push(c);\n } else if (c == '\u007d' || c == '\u005d' || c == '\u0029') {\n if (stack.isEmpty()) {\n return false;\n }\n\n char top = stack.pop();\n if ((c == '\u007d' \u0026\u0026 top != '\u007b') || (c == '\u005d' \u0026\u0026 top != '\u005b') || (c == '\u0029' \u0026\u0026 top != '\u0028')) {\n return false;\n }\n }\n }\n\n return stack.isEmpty();\n }\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e运行程序,输入字符串后,即可判断括号是否正确匹配。\u003c/p\u003e

Java 括号匹配算法:使用栈实现

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

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