括号匹配算法_判断括号是否匹配的算法

括号匹配算法_判断括号是否匹配的算法栈实现括号匹配(Java)好的,以下是 Java 用栈实现括号匹配的代码详解:“`javaimport java.util.Stack;public class BracketMatching {public st

栈—-实现括号匹配(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

(0)
上一篇 2024年 9月 7日
下一篇 2024年 9月 7日

相关推荐

关注微信