栈的压入、弹出序列
2015-10-18 21:15
253 查看
题目描述
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列
import java.util.ArrayList; public class Solution { public boolean IsPopOrder(int [] pushA,int [] popA) { if(pushA == null || popA == null || pushA.length == 0 || popA.length == 0) return false; int i = 0,j = 0; ArrayList<Integer> list = new ArrayList<Integer>(); while(i < pushA.length){ list.add(pushA[i]); if(pushA[i] == popA[j]){ list.remove(list.size()-1); j++; } i++; } while(j < popA.length){ if(list.get(list.size()-1) == popA[j]){ list.remove(list.size()-1); } j++; } if(list.isEmpty()) return true; return false; } }
相关文章推荐
- 获取form表单提交回来的值或者html标签的值或者加载过后重新给lable赋的值
- 软件开发工具总结
- 项目 39.1-1完数
- 信号时频域分析 ——EMD/BEMD/LMD 算法原理
- 计算机相关知识快速入门
- Servlet、Filter和Listener
- 第四次作业 合同管理、配置管理和外包管理
- iOS开发常用的集中设计模式
- ZOJ 2417
- Android SQLite 使用总结
- 冒泡法排序
- Hive ERROR: Out of memory due to hash maps used in map-side aggregation
- sizeof浅析——求类的大小
- POJ 2155 Matrix (D区段树)
- java实验三
- 1013 求先序排列
- 使用poi写excel文件
- 白话空间统计十九:热点分析(上)
- WAMP常用环境配置
- ros中使用摄像头