zoukankan      html  css  js  c++  java
  • 括号配对

    括号配对问题

    时间限制:3000 ms  |  内存限制:65535 KB

    难度:3

    描述

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

    输入

    第一行输入一个数N0<N<=100,表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符

    输出

    每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No

    样例输入

    3

    [(])

    (])

    ([[]()])

    样例输出

    No

    No

    Yes

    import java.util.*;
    public class Main {
        
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner sc=new Scanner(System.in);
            int n=sc.nextInt();
            while(n-->0){
                boolean flag=true;
            String str=sc.next();
            char ch[]=str.toCharArray();
            String s[]=new String[str.length()];
            for(int i=0;i<str.length();i++){
                s[i]=String.valueOf(ch[i]);
            }
               Stack<String> stack=new Stack<String>();
               for(int i=0;i<s.length;i++){
                   if(s[i].equals("(")||s[i].equals("["))
                       stack.push(s[i]);
                   else if(s[i].equals(")"))
                   {
                       if(stack.isEmpty() || !stack.peek().equals("(")) {flag=false;break;}
                       else 
                           stack.pop();  
                   }
                   else if(s[i].equals("]"))
                   {
                       if(stack.isEmpty() || !stack.peek().equals("[")){flag=false;break;}
                       else
                           stack.pop();
                       
                       
                   }
               
               }
               
               if(!stack.isEmpty())flag=false;
               
               if(flag)
                   System.out.println("Yes");
               else
                   System.out.println("No");
            
              
                }
                
                    sc.close();
        }
    }
  • 相关阅读:
    小总结:fibonacci数的产生
    pick the stone game
    温故知新的错题训练:Coin game
    《博弈论的诡计》
    思维+博弈论:字符串操作
    一下午的编程思索录
    2018中国大学生程序设计竞赛
    温故知新的经典贪心题目:今年暑假不AC?
    2019-2020新学的一些东西(持续更新)
    【半平面交】JZOJ3297. 【SDOI2013】逃考
  • 原文地址:https://www.cnblogs.com/watchfree/p/5313650.html
Copyright © 2011-2022 走看看