• 括号配对问题


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

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

     1 import java.util.Scanner;
     2 import java.util.Stack;
     3 
     4 public class Main {
     5     public static void main(String[] args) {
     6         Scanner scanner=new Scanner(System.in);
     7         char s[]=new char[10010];
     8         int T;
     9         int i;
    10         Stack<String> stack=new Stack<String>();
    11         
    12         T=scanner.nextInt();
    13         
    14         while(true){
    15             if(T==0)
    16                 break;
    17             T--;
    18             
    19             s=scanner.next().toCharArray();
    20             
    21             for(i=0;i<s.length;i++){
    22                 if(s[i]=='[' || s[i]=='(')
    23                     stack.push(s[i]+"");
    24                 
    25                 else if(s[i]==']'){
    26                     if(stack.empty()==false && stack.peek().compareTo("[")==0)
    27                         stack.pop();
    28                     else
    29                         stack.push(s[i]+"");
    30                 }
    31                 
    32                 else if(s[i]==')'){
    33                     if(stack.empty()==false && stack.peek().compareTo("(")==0)
    34                         stack.pop();
    35                     else
    36                         stack.push(s[i]+"");
    37                 }
    38             }
    39             
    40             if(stack.empty()==true)
    41                 System.out.println("Yes");
    42             
    43             else{
    44                 System.out.println("No");
    45                 stack.clear();
    46             }
    47         }
    48     }
    49 }
    
    
    
     
  • 相关阅读:
    mysql外键和连表操作
    数据库的操作
    进程之select和epoll
    jwt的应用生成token,redis做储存
    为什么前后端分离不利于seo
    redis的bitmap
    lnmp环境的nginx的tp5配置
    虚拟机安装cenos7后ifcfg看网卡无inet地址掩码等信息
    rsa加密
    hydra命令
  • 原文地址:https://www.cnblogs.com/zqxLonely/p/4129502.html
Copyright © 2020-2023  润新知