(java)括号匹配(简单)
2016-09-28 20:31
453 查看
题目:只有[和(两种括号出现,判断一个字符串是否是括号匹配的
import java.util.*;
public class Main2{
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
while(sc.hasNextInt()){
int N=sc.nextInt();
String[] strs=new String
;
for(int i=0;i<N;i++){
strs[i]=sc.next();
if(IsOk(strs[i])){
System.out.println("Yes");
}else{
System.out.println("No");
}
}
}
}
public static boolean IsOk(String str){
Stack<Character> s=new Stack<Character>();
for(int i=0;i<str.length();i++){
char c=str.charAt(i);
if(s.empty()){
s.push(c);
}else if(s.peek()=='(' && c==')'){
s.pop();
}else if(s.peek()=='[' && c==']'){
s.pop();
}else{
s.push(c);
}
}
if(!s.empty()){
return false;
}else{
return true;
}
}
}
import java.util.*;
public class Main2{
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
while(sc.hasNextInt()){
int N=sc.nextInt();
String[] strs=new String
;
for(int i=0;i<N;i++){
strs[i]=sc.next();
if(IsOk(strs[i])){
System.out.println("Yes");
}else{
System.out.println("No");
}
}
}
}
public static boolean IsOk(String str){
Stack<Character> s=new Stack<Character>();
for(int i=0;i<str.length();i++){
char c=str.charAt(i);
if(s.empty()){
s.push(c);
}else if(s.peek()=='(' && c==')'){
s.pop();
}else if(s.peek()=='[' && c==']'){
s.pop();
}else{
s.push(c);
}
}
if(!s.empty()){
return false;
}else{
return true;
}
}
}
相关文章推荐
- java--一道简单的括号匹配问题
- java--一道简单的括号匹配问题
- NYOJ-括号匹配-2(java)
- 简单的括号匹配问题,只有 ( 和 )。。。其实原理就是开栈最后的状态。。。
- 简单的括号匹配
- 简单判断表达式括号是否匹配
- 括号匹配Java版
- 一个简单的括号匹配问题
- java括号匹配
- 判断表达式括号是否匹配java和js版本
- java括号匹配算法
- 括号匹配(二)NYOJ15(简单区间dp)
- java括号匹配算法
- 括号的匹配(简单)
- 栈学习--简单的括号匹配
- 华为2014机考题目_判断if括号匹配是否合法_堆栈_简单的方法- -
- java堆栈(Deque双向队列)应用之括号匹配
- 栈的简单应用(数制转换、括号匹配检验、行编辑、迷宫求解)
- 基于栈的简单括号匹配
- Java 括号匹配问题