括号匹配--java栈实现

2020-12-13 14:08

阅读:381

标签:empty   --   cte   java   rac   tac   nbsp   new   code   

假设括号都是(),{},[],{[]()},{()()}这种可以匹配的,存在{(}),([)均为错。

 

 1 public boolean match(String str) {
 2         //String str="[()()]{}";
 3         Stack  s = new Stack();
 4         for (int index=0; index) {
 5             switch(str.charAt(index)) {
 6             case ‘(‘:
 7                 s.push(str.charAt(index));
 8                 break;
 9             case ‘[‘:
10                 s.push(str.charAt(index));
11                 break;
12             case ‘{‘:
13                 s.push(str.charAt(index));
14                 break;
15             case ‘)‘:
16                 if(s.peek().equals(‘)‘)&& (!s.empty()) ) {
17                     s.pop();
18                 }
19                 break;
20             case ‘]‘:
21                 if(s.peek().equals(‘]‘)&& (!s.empty()) ) {
22                     s.pop();
23                 }
24                 break;
25             case ‘}‘:
26                 if(s.peek().equals(‘}‘)&& (!s.empty()) ) {
27                     s.pop();
28                 }
29                 break;
30             }
31         }
32         if(s.empty()) {
33             return true;
34         }
35         return false;
36     }

 

 

 

括号匹配--java栈实现

标签:empty   --   cte   java   rac   tac   nbsp   new   code   

原文地址:https://www.cnblogs.com/Suntree/p/11552361.html


评论


亲,登录后才可以留言!