括号匹配--java栈实现
标签: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
评论