剑指offer刷题之java实现的栈的压入、弹出序列
来源:互联网 发布:知乎匿名提问 编辑:程序博客网 时间:2024/06/05 17:02
package mine;import java.util.LinkedList;import java.util.Stack;/** * * @author毛二 * @data 2015-8-9 * @comments栈的压入、弹出序列 * 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。 * 假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序, * 序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。 */public class StackSeq { public static boolean IsPopOrder(int [] pushA,int [] popA) { boolean flag = false; int j=0; if(((pushA==null )||(popA==null)) ||pushA.length != popA.length || (pushA.length==0 || popA.length==0) ) return flag; Stack<Integer> s = new Stack<Integer>(); for(int i: popA){ System.out.println("i = "+i); System.out.println("before pop "+s.size()); if(!s.isEmpty()&& i == s.peek()){ s.pop(); System.out.println("after pop "+s.size()); } else { for(;j<pushA.length;j++){ if(i == pushA[j]){// System.out.print("last push: "+pushA[j]+"\n");//! s.push(pushA[j]); j++; System.out.println(); break; }else { System.out.print("push: "+pushA[j]); s.push(pushA[j]); } } } } if(s.isEmpty()) flag= true; System.out.println(flag+" "+s.size()); return flag; } public static void main(String[] args) {int[] push = null;//{1,2,3,4,5};int[] pop = null;//{4,5,3,2,1};//{1,2,3,1,5};//{4,3,5,1,2};System.out.println(IsPopOrder(push,pop));}}
0 0
- 剑指offer刷题之java实现的栈的压入、弹出序列
- 剑指Offer: (Java实现) 栈的压入、弹出序列
- 剑指Offer之 - 栈的压入、弹出序列
- 【剑指offer】之栈的压入弹出序列
- 剑指offer(三十六)之栈的压入、弹出序列
- 剑指offer之十六---栈的压入、弹出序列
- 剑指Offer:栈的压入、弹出序列(JAVA)
- 剑指offer:栈的压入、弹出序列(java)
- 剑指Offer算法实现之二十二:栈的压入、弹出序列
- 剑指offer--面试题22:栈的压入、弹出序列--Java实现
- 剑指Offer:面试题22——栈的压入,弹出序列(java实现)
- 【剑指offer】题22:栈的压入、弹出序列
- offer,栈的压入、弹出序列
- 剑指offer第二十一题【栈的压入、弹出序列】c++实现
- 【剑指offer】栈的压入弹出序列
- 剑指offer系列源码-栈的压入、弹出序列
- 剑指offer--栈的压入、弹出序列
- 剑指offer:栈的压入、弹出序列
- 【QQ机器人开发】茉莉QQ机器人3.X系列插件开发文档
- UVALive - 4452 The Ministers' Major Mess(2-SAT)
- TextView的一些使用
- poj3207Ikki's Story IV - Panda's Trick tarjan缩点
- 零基础学python-1.3 通过idle启动python
- 剑指offer刷题之java实现的栈的压入、弹出序列
- [php] 常用header
- 剩余系,剩余定理,同余定理,费马小定理的证明
- UVa 10815 Andy's First Dictionary
- LeetCode #1 Two Sum
- win7 64位 鼠标右键explorer重启解决方法
- 读书笔记之c和指针(8)
- Linux网络编程(2)——采用TCP的基本server的实现
- 简单记录一下简单的理解