Test.java
2016-09-17 14:25
337 查看
package 括号匹配;
import java.util.Stack;
/**
* 利用两个栈,有个栈弹出,一个从栈底部取出元素,如果不匹配则返回false
* */
public class Test {
public static void main(String[] args) {
String s="(asd{dd})";
System.out.println(test(s));
}
public static boolean test(String s){
Stack<Character> stack1=new Stack<Character>();
Stack<Character> stack2=new Stack<Character>();
char [] c=s.toCharArray();
for(int i=0;i<c.length;i++){
if((char)c[i]=='('||(char)c[i]=='{'){
stack1.add((char)c[i]);
}
if((char)c[i]==')'||(char)c[i]=='}'){
stack2.add((char)c[i]);
}
}
System.out.println("start");
while(!stack1.isEmpty()&&!stack2.isEmpty()){
char c1=stack1.pop();
char c2=stack2.remove(0);
System.out.println(c1);
System.out.println(c2);
if((c1=='('&&c2=='}')||(c1=='{'&&c2==')')){
return false;
}
}
if(!stack1.isEmpty()||!stack2.isEmpty()){
return false;
}
System.out.println("end");
return true;
}
}
import java.util.Stack;
/**
* 利用两个栈,有个栈弹出,一个从栈底部取出元素,如果不匹配则返回false
* */
public class Test {
public static void main(String[] args) {
String s="(asd{dd})";
System.out.println(test(s));
}
public static boolean test(String s){
Stack<Character> stack1=new Stack<Character>();
Stack<Character> stack2=new Stack<Character>();
char [] c=s.toCharArray();
for(int i=0;i<c.length;i++){
if((char)c[i]=='('||(char)c[i]=='{'){
stack1.add((char)c[i]);
}
if((char)c[i]==')'||(char)c[i]=='}'){
stack2.add((char)c[i]);
}
}
System.out.println("start");
while(!stack1.isEmpty()&&!stack2.isEmpty()){
char c1=stack1.pop();
char c2=stack2.remove(0);
System.out.println(c1);
System.out.println(c2);
if((c1=='('&&c2=='}')||(c1=='{'&&c2==')')){
return false;
}
}
if(!stack1.isEmpty()||!stack2.isEmpty()){
return false;
}
System.out.println("end");
return true;
}
}
相关文章推荐
- javaWeb Cache技术――OSCache
- Web版CRUD开发流程实例(一)
- Web版CRUD开发流程实例(一)
- JAVA进阶3.2——Equals方法(2)
- Java 8新特性
- Java 8新特性
- Java 8新特性
- 使用伸展树(SplayTree)统计单词频率的Java实现
- 关于 java jdk的配置测试
- JavaWeb—jsp页面中文乱码的几个问题
- Java实现选择排序
- JAVA实现本地文件批量重命名
- Spring中事物管理
- java 线程:sleep join yield | wait notify notifyAll
- Spring4深入理解----整合Hibernate
- java实现直接插入排序
- Java 接口(interface)基本定义
- Spring4深入理解----事务(声明式事务和xml配置事务,事务传播属性,事务其他属性(隔离级别&回滚&只读&过期))
- 用JAVA实现的DES加密解密算法
- java forEach实现原理