括号配对问题
来源:互联网 发布:淘宝衣服缩水美女视频 编辑:程序博客网 时间:2024/06/05 16:08
括号配对问题
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述
现在,有一行括号序列,请你检查这行括号是否配对。
输入
第一行输入一个数N(0
package 括号配对问题;import java.util.ArrayList;import java.util.List;import java.util.Scanner;import java.util.Stack;public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int number = input.nextInt(); String [] array = new String[number]; for (int i = 0;i<number;i++) { array[i] = input.next(); } //解决问题 List<String> result = handle(array); //循环遍历结果 print(result); } //打印输出的结果 private static void print(List<String> result) { if (result != null && result.size()>0) { for (int i=0;i<result.size();i++) { System.out.println(result.get(i)); } } } //循环解决问题 private static List<String> handle(String[] array) { List<String> result = new ArrayList<String>(); for (int i = 0;i<array.length;i++) { String str = array[i]; //判断这个字符串是不是一个合法的括号 if (legalBrackets(str)) { result.add("Yes"); } else { result.add("No"); } } return result; } //用栈来实现这个字符串是不是合法的字符 private static boolean legalBrackets(String str) { Stack<Character> sc=new Stack<Character>(); //首先判断这个字符串的长度 int x = str.length() % 2; if (x != 0) { return false; } else { char[] c=str.toCharArray(); for (int i = 0;i<c.length;i++) { if (c[i]=='('||c[i]=='[') { sc.push(c[i]); } else if (c[i]==')') { if (sc.peek()=='(') { sc.pop(); } } else if (c[i] == ']') { if (sc.peek() == '[') { sc.pop(); } } } if (sc.empty()) { return true; }else { return false; } } }}
阅读全文
0 0
- 括号配对问题
- 括号配对问题
- 括号配对问题
- 括号配对问题
- 括号配对问题
- NYOJ - 括号配对问题
- nyoj 括号配对问题
- 括号配对问题
- 括号配对问题
- 括号配对问题
- 括号配对问题
- [ACM]括号配对问题
- NYOJ2 括号配对问题
- 括号配对问题
- 2 括号配对问题
- 括号配对问题
- 括号配对问题
- 【括号配对问题 2】
- http请求
- iOS开发 蓝牙连接
- HTTP请求的八种方式
- 搭建scala的开发环境
- MSP430G2253 产生占空比可调的PWM
- 括号配对问题
- 媒体查询
- Entity Framework3.5 关于外键表的一些经验
- codeforces 896A Nephren gives a riddle dfs搜索
- sshpass的安装使用
- 使用PostGIS 2.0 Shapefile and DBF Loader Exporter工具导入shp文件
- accelerated 2-5-4
- 【java基础】09.内部类(InnerClass)
- 怎样设定目标系列总结