剑指offer 22. 栈的压入、弹出序列
来源:互联网 发布:淘宝法院拍卖网 编辑:程序博客网 时间:2024/06/08 06:42
// 题目:输入两个整型数组,判断第二个是不是第一个的栈输出序列// 解法:使用队列完成,输出传入栈中再输出public class Main {public static void main(String[] args) {System.out.println(isSeq(new int[] { 1, 2,3,4,5 }, new int[] {4,5,3,2,1 }));}private static boolean isSeq(int[] input, int[] output) {if(input.length == 0 || input.length != output.length){//如果长度不相等,直接falsereturn false;}Stack<Integer> s = new Stack<Integer>();//建立栈,模拟实际情况int inputIndex = 0;int outputIndex = 0;while(outputIndex != output.length){//如果输出队列没有遍历完if(inputIndex == input.length && s.peek()!= output[outputIndex]){//如果输入队列遍历完了且栈顶元素不为输入的当前元素就falsereturn false;}while(s.isEmpty() || s.peek()!=output[outputIndex]){//如果栈为空或栈顶元素不为输出队列的当前元素就将输入队列的元素入栈s.push(input[inputIndex++]);if(inputIndex == input.length && s.peek()!= output[outputIndex]){return false;}}s.pop();//如果相同就出栈并检查输出序列的下一个元素outputIndex++;}return true;}}
0 0
- 剑指offer 22. 栈的压入、弹出序列
- offer,栈的压入、弹出序列
- 【剑指offer】栈的压入弹出序列
- 剑指offer系列源码-栈的压入、弹出序列
- 剑指offer--栈的压入、弹出序列
- 剑指Offer之 - 栈的压入、弹出序列
- 剑指offer:栈的压入、弹出序列
- 《剑指offer》栈的压入、弹出序列
- 剑指Offer系列---(24)栈的压入、弹出序列
- 栈的压入、弹出序列(剑指offer)
- 剑指 offer:栈的压入、弹出序列
- 【剑指Offer】栈的压入、弹出序列
- 剑指offer—栈的压入、弹出序列
- 剑指offer:栈的压入弹出序列
- 剑指Offer-22-栈的压入、弹出序列
- 《剑指offer》——栈的压入、弹出序列
- 剑指offer:栈的压入、弹出序列
- 【剑指offer】之栈的压入弹出序列
- 高速缓存DNS
- Hadoop常用命令汇总
- Android设计模式之Activity基类封装
- js加载顺序问题
- 不同的verilog代码风格看RTL视图之三
- 剑指offer 22. 栈的压入、弹出序列
- 个人扫键心得
- Java Utils工具类大全
- java提升之日志级别详细解读和怎么在项目中写Logging
- 记录WdatePicker控件日期选择
- Java中的Runnable、Callable、Future、FutureTask的区别与示例
- JAVA多线程
- Java多线程
- Mysql数据库mysql-5.7.18-winx64安装笔记