码迷,mamicode.com
首页 > 其他好文 > 详细

括号配对问题

时间:2014-11-28 22:45:28      阅读:395      评论:0      收藏:0      [点我收藏+]

标签:style   blog   ar   color   os   sp   java   for   on   

描述现在,有一行括号序列,请你检查这行括号是否配对。

 
输入
第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符
输出
每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No
样例输入
3
[(])
(])
([[]()])
样例输出
No
No
Yes

 1 import java.util.Scanner;
 2 
 3 public class Main {
 4     public static void main(String[] args) {
 5         Scanner scanner=new Scanner(System.in);
 6         int T;
 7         int i;
 8         int k;
 9         char string[]=new char[10010];
10         char result[]=new char[10010];
11         
12         T=scanner.nextInt();
13         while(T!=0){
14             T--;
15             string=scanner.next().toCharArray();
16             k=0;
17             
18             for(i=0;i<string.length;i++){
19                 if(string[i]==‘[‘ || string[i]==‘(‘){  //如果是[和(,则直接放入result
20                     result[k]=string[i];
21                     k++;
22                 }
23                 
24                 else if(string[i]==‘]‘){ //如果为],先判断result是否存在字符(否则会溢出),再判断result的最后一个字符是否是[
25                     if(k>=1 && result[k-1]==‘[‘)
26                         k--;
27                     
28                     else{   //不是的话直接放入result
29                         result[k]=string[i];
30                         k++;
31                     }
32                 }
33                 
34                 else if(string[i]==‘)‘){
35                     if(k>=1 && result[k-1]==‘(‘)
36                         k--;
37                     
38                     else {
39                         result[k]=string[i];
40                         k++;
41                     }
42                 }
43             }
44             
45             if(k==0)  //最后判断result字符的个数就知道结果了
46                 System.out.println("Yes");
47             
48             else
49                 System.out.println("No");
50         }
51     }
52 }

 

 

括号配对问题

标签:style   blog   ar   color   os   sp   java   for   on   

原文地址:http://www.cnblogs.com/zqxLonely/p/4129502.html

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