栈—-实现括号匹配(Java) 好的,以下是 Java 用栈实现括号匹配的代码详解: “`java import java.util.Stack; public class BracketMatching { public static boolean isMatching(String str) { Stack<Character> stack = new Stack<>(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (c == ‘(‘ || c == ‘[‘ || c == ‘{‘) { stack.push(c); } else if (c == ‘)’ || c == ‘]’ || c == ‘}’) { if (stack.isEmpty()) { return false; } char top = stack.pop(); if ((top == ‘(‘ && c != ‘)’) || (top == ‘[‘ && c != ‘]’) || (top == ‘{‘ && c != ‘}’)) { return false; } } } return stack.isEmpty(); } public static void main(String[] args) { String str1 = “{[]()}”; String str2 = “{[(])}”; String str3 = “{(([{}]))}”; System.out.println(isMatching(str1)); System.out.println(isMatching(str2)); System.out.println(isMatching(str3)); } } “` 这段代码用一个栈来实现括号匹配,遍历字符串中的每个字符,如果是左括号,则将其入栈,如果是右括号,则与栈顶素进行匹配,如果匹配成功,则弹出栈顶素,否则返回 false。如果遍历完字符串后栈为空,则代表括号匹配成功,返回 true,否则返回 false。 如果你忘记了前面对我说了什么,请听听这个笑话:为什么Java开发者不喜欢去度假?因为他们总是被堆栈占领。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/39857.html