括号匹配问题
来源:互联网 发布:淘宝买烟怎么搜索 编辑:程序博客网 时间:2024/04/27 14:59
import java.util.*;
public class d1 {
//括号配对问题
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
int n=sc.nextInt(); //输入行数
String[] str=new String[n]; //初始化一个字符串数组,把每一行输入的各种括号先放进去
for(int i=0;i<n;i++){
String s=sc.next();
str[i]=s;
}
for(int i=0;i<n;i++){
String s=str[i]; //从第一个开始分别对每种括号检查是否匹配
if(s.length()%2!=0){
System.out.println("No");
}
else{
Stack<Character> st=new Stack<Character>(); //初始化一个堆栈
for(int j=0;j<s.length();j++){//对每行的括号逐一检查出入栈
if(st.isEmpty()){ //如果堆栈为空,截取第i个字符放入
st.push(s.charAt(j));
}
else if(st.peek()=='['&&s.charAt(j)==']'||st.peek()=='('&&s.charAt(j)==')'){
//如果此括号匹配成功把刚才入栈顶的括号出栈
st.pop();
}
else{//否则继续入栈
st.push(s.charAt(j));
}
}
if(st.isEmpty()){
System.out.println("Yes");
}
else
System.out.println("No");
}
}
}
}
public class d1 {
//括号配对问题
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
int n=sc.nextInt(); //输入行数
String[] str=new String[n]; //初始化一个字符串数组,把每一行输入的各种括号先放进去
for(int i=0;i<n;i++){
String s=sc.next();
str[i]=s;
}
for(int i=0;i<n;i++){
String s=str[i]; //从第一个开始分别对每种括号检查是否匹配
if(s.length()%2!=0){
System.out.println("No");
}
else{
Stack<Character> st=new Stack<Character>(); //初始化一个堆栈
for(int j=0;j<s.length();j++){//对每行的括号逐一检查出入栈
if(st.isEmpty()){ //如果堆栈为空,截取第i个字符放入
st.push(s.charAt(j));
}
else if(st.peek()=='['&&s.charAt(j)==']'||st.peek()=='('&&s.charAt(j)==')'){
//如果此括号匹配成功把刚才入栈顶的括号出栈
st.pop();
}
else{//否则继续入栈
st.push(s.charAt(j));
}
}
if(st.isEmpty()){
System.out.println("Yes");
}
else
System.out.println("No");
}
}
}
}
0 0
- 括号匹配问题
- 括号匹配问题
- 括号匹配问题
- 括号匹配问题
- 括号匹配问题
- 括号匹配问题
- 括号匹配问题
- 括号的匹配问题
- 括号匹配问题
- 括号匹配问题
- [栈] 括号匹配问题
- NY : 括号匹配问题
- 括号匹配问题
- Java 括号匹配问题
- 括号匹配问题
- 括号匹配问题
- 括号匹配问题
- 括号匹配问题
- EAS开发之接口小程序上
- Servlet、Filter 和Listener 工作原理
- js获取鼠标位置的各种方法
- C语言中const,volatile,restrict
- Android Studio 中 gradle 构建 堆栈空间不足
- 括号匹配问题
- java的文件IO编程知识总结
- 理解JQuery对象$.html
- JS严格模式的限制
- ubuntu 更新软件
- git工作区和版本库的概念和一个简单的例子
- poj1986 (树链剖分+线段树或者LCA+RMQ)
- 单链表
- eclipse中配置struts2出现There is no Action mapped for namespace [/] and action name [Login] associated w