package\u0020Example;\nimport\u0020java.util.Stack;\nimport\u0020java.util.Scanner;\npublic\u0020class\u0020Example11\u0020{\n\tpublic\u0020static\u0020void\u0020main(String[]\u0020args)\u0020{\n\t Scanner\u0020scanner\u0020=\u0020new\u0020Scanner(System.in);\n\t System.out.print("请输入包含花括号、中括号、小括号的字符串:");\n\t String\u0020str\u0020=\u0020scanner.nextLine();\n\t boolean\u0020isMatching\u0020=\u0020isBracketMatching(str);\n\t if\u0020(isMatching)\u0020{\n\t System.out.println("括号匹配");\n\t }else\u0020{\n\t System.out.println("括号不匹配");\n\t }\n\t}\n\n\tpublic\u0020static\u0020boolean\u0020isBracketMatching(String\u0020str)\u0020{\n\t Stack\u0020stack\u0020=\u0020new\u0020Stack<>();\n\t for\u0020(int\u0020i\u0020=\u00200;\u0020i\u0020<\u0020str.length();\u0020i++)\u0020{\n\t char\u0020k\u0020=\u0020str.charAt(i);\n\t if\u0020(k\u0020==\u0020'{'\u0020||\u0020k\u0020==\u0020'['\u0020||\u0020k\u0020==\u0020'(')\u0020{\n\t stack.push(k);\n\t }else\u0020if\u0020(k\u0020==\u0020'}'\u0020||\u0020k\u0020==\u0020']'\u0020||\u0020k\u0020==\u0020')')\u0020{\n\t if\u0020(stack.isEmpty())\u0020{\n\t return\u0020false;\n\t }\n\t char\u0020top\u0020=\u0020stack.pop();\n\t if\u0020((k\u0020==\u0020'}'\u0020&&\u0020top\u0020!=\u0020'{')\u0020||\u0020(k\u0020==\u0020']'\u0020&&\u0020top\u0020!=\u0020'[')\u0020||\u0020(k\u0020==\u0020')'\u0020&&\u0020top\u0020!=\u0020'('))\u0020{\n\t return\u0020false;\n\t }\n\t }\n\t }\n\t return\u0020stack.isEmpty();\n\t}\n

Java 括号匹配算法详解:使用栈结构判断括号是否匹配

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

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