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

    括号配对问题

    描述

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

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

     Java实现

    private static void fun() {
    		Scanner sc = new Scanner(System.in);
    		int n = sc.nextInt();
    		Stack<Character> s = new Stack<Character>();
    		while (n != 0) {
    			String str = sc.next();
    			if (str.length() % 2 == 1) {
    				System.out.println("NO");
    			} else {
    				for (int index = 0; index < str.length(); index++) {
    					if (s.isEmpty()) {
    						s.push(str.charAt(index));
    					} else if ((s.peek() == '[' && str.charAt(index) == ']')
    							|| (s.peek() == '(' && str.charAt(index) == ')')) {
    						s.pop();
    					} else {
    						s.push(str.charAt(index));
    					}
    				}
    				if (s.isEmpty()) {
    					System.out.println("YES");
    				}else{
    					System.out.println("NO");
    				}
    			}
    			n--;
    		}
    	}
  • 相关阅读:
    自考新教材-p282
    p281
    自考新教材-p279_2
    用jmap分析java程序
    用jstack工具分析java程序
    java应用maven插件动态生成webservice代码
    Java对信号的处理
    【OracleDB】 01 概述和基本操作
    【Oracle】Windows-19C 下载安装
    【Hibernate】06 查询API
  • 原文地址:https://www.cnblogs.com/muyuge/p/6152031.html
Copyright © 2011-2022 走看看