码迷,mamicode.com
首页 > 编程语言 > 详细

括号匹配--java栈实现

时间:2019-09-19 21:39:06      阅读:108      评论:0      收藏:0      [点我收藏+]

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

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

 

 1 public boolean match(String str) {
 2         //String str="[()()]{}";
 3         Stack <Character> s = new Stack<Character>();
 4         for (int index=0; index<str.length();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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!