判断括号序列的合法性

很多时候,人生如同一个梦,不断的老去,不断的逝去。

http://acm.nyist.net/JudgeOnline/problem.php?pid=2

数据结构中的经典题目,栈的使用那一章,如果是左括号入站,右括号呢,跟该右括号匹配的一定是栈顶元素,如果此时栈顶为空或元素不匹配,则失败

 1 import java.util.Scanner;
 2 import java.util.Stack;
 3 
 4 
 5 public class Main {
 6 
 7     public static void main(String[] args) {
 8         // TODO Auto-generated method stub
 9         Scanner scn=new Scanner(System.in);
10         int len=scn.nextInt();
11         while(len-->0)
12         {
13             
14             System.out.println(pipei(scn.next()));
15         }
16         
17 
18     }
19     public static String pipei(String s)
20     {
21         char c[]=s.toCharArray();
22         Stack<Character> stack=new Stack<Character>();
23         for(int i=0;i<s.length();i++)
24         {
25             if(c[i]=='('||c[i]=='[') 
26             {
27                 stack.push(c[i]);
28             }
29             else
30             {
31                 if(stack.isEmpty())
32                 {
33                     return "No";
34                         
35                 }
36                 else
37                 {
38                     Character t=stack.peek();
39                     if((t=='('&&c[i]==')')||(t=='['&&c[i]==']'))
40                     {
41                         stack.pop();
42                     }
43                     else return "No";
44                     
45                     
46                     
47                     
48                 }
49                 
50                 
51                 
52                 
53             }
54             
55             
56             
57         }
58         
59         if(stack.isEmpty()) return "Yes";
60         else return "No";
61         
62         
63         
64     }
65 
66 }

 

转载于:https://www.cnblogs.com/hansongjiang/p/3940148.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值