Java 判断栈的push和pop序列是否一致
2015-10-08 14:53
447 查看
判断栈的push和pop序列是否一致
import java.util.Stack; /** * 判断栈的push和pop序列是否一致 * * @author ZHOUMI2 * */ public class StackTest { // 判断栈的push和pop序列是否一致 public static boolean sequenseIsPop(int[] data1, int[] data2) { Stack<Integer> stack = new Stack<Integer>(); for (int i = 0, j = 0; i < data1.length; i++) { stack.push(data1[i]); // 遇到一样的数据就开始退栈对比 while (stack.size() > 0 && stack.peek() == data2[j]) { stack.pop(); j++; } } // 如果栈大小为0,说明全部元素退栈成功,即匹配成功 return stack.size() == 0; } public static void main(String[] args) { int[] data1 = { 1, 2, 3, 4, 5 }; int[] data2 = { 4, 5, 3, 2, 1 }; int[] data3 = { 4, 5, 2, 3, 1 }; System.out.println(sequenseIsPop(data1, data2)); System.out.println(sequenseIsPop(data1, data3)); } }
相关文章推荐
- Java的GUI编程之列表和组合框的设计使用
- java 逻辑运算符(&& || !)、位运算符(& | ~ …^)
- Struts2中iterator标签遍历map总结
- 在MyEclipse中使用ClearCase插件及遇到的问题
- Java 中的成员内部类
- Java中的静态内部类
- Java 中的方法内部类
- java 浮点数精度运算问题
- 下载和使用Spring Tool Suite (JAVA IDE)
- JMX和MBean以及pojo-mbean学习
- Java POI库使用学习
- jdbcType与javaType的对应关系
- Eclipse中java文件头注释格式设置
- Java____类、对象、实例____与前面赋值+顺序结合看
- springMVC 文件上传
- 细谈struts2(四)struts2中action执行流程和源码分析 .
- .net 转java学习一-----搭建环境
- Plug-in com.android.ide.eclipse.adt was unable to load class com.android.ide.eclipse.adt.internal.wi
- Java笔记---反射机制
- Eclipse中如何整合jBPM6插件