JAVA栈实例—括号匹配

Posted Svice的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA栈实例—括号匹配相关的知识,希望对你有一定的参考价值。

 1 import java.util.Stack;
 2 
 3 public class test {
 4     public static void main(String[] args){
 5         System.out.print(isStringBalanced("asdasd)d"));
 6     }
 7     
 8     public static boolean isStringBalanced(String string){
 9          final char openrb = ‘(‘;   //定义常量
10          final char closerb = ‘)‘;
11          Stack<Character> s = new Stack<Character>();  //新建栈
12          for (int i=0;i<string.length();i++){
13             if (string.charAt(i) == openrb){
14                 s.push(openrb);                    //压入占顶
15             }else if(string.charAt(i) == closerb){
16                 if (s.empty()){                    //是否为空
17                     s.push(closerb); 
18                 }else if ((char)s.peek() == openrb){  //查看栈顶元素,但是不弹出
19                     s.pop();                       //弹出栈顶元素
20                 }else{
21                     s.push(closerb);
22                 }
23             }
24             
25          }
26          return s.empty();                 
27     }
28 }

 

以上是关于JAVA栈实例—括号匹配的主要内容,如果未能解决你的问题,请参考以下文章

数据结构 栈的实例应用,括号匹配

用栈检测括号匹配

括号匹配(栈)

括号匹配算法

栈2--括号的匹配

用栈实现括号匹配的检验