博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
栈的压入、弹出序列
阅读量:5122 次
发布时间:2019-06-13

本文共 802 字,大约阅读时间需要 2 分钟。

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。

import java.util.ArrayList;import java.util.Stack;public class Solution {    public boolean IsPopOrder(ArrayList
pushA,ArrayList
popA) { Stack stack = new Stack(); if( pushA.size() == 0 && popA.size() == 0 ) return true; for( int i=0,j=0; i < pushA.size(); i++ ){ stack.push( pushA.get(i) ); while( ( !stack.empty() )&& ( stack.peek() == popA.get(j) ) ){ stack.pop(); j ++; } } return stack.empty() == true; }}

遍历pushA,将其每个元素入栈,并与popA中的元素对比,如果循环结束,栈还不为空,则说明该序列不是pop序列

 

转载于:https://www.cnblogs.com/yangsy0915/p/4984943.html

你可能感兴趣的文章
ASP.NET MVC 拓展ViewResult实现word文档下载
查看>>
8、RDD持久化
查看>>
第二次团队冲刺--2
查看>>
VMware Tools安装
查看>>
Linux上架设boost的安装及配置过程
查看>>
[转载]加密算法库Crypto——nodejs中间件系列
查看>>
zoj 2286 Sum of Divisors
查看>>
OO5~7次作业总结
查看>>
使用Xshell密钥认证机制远程登录Linux
查看>>
OpenCV之响应鼠标(三):响应鼠标信息
查看>>
Android 画图之 Matrix(一)
查看>>
List<T>列表通用过滤模块设计
查看>>
【模板】最小生成树
查看>>
设计模式之结构型模式
查看>>
poj2569
查看>>
使用pygal_maps_world.i18n中数据画各大洲地图
查看>>
sql server必知多种日期函数时间格式转换
查看>>
jQuery EasyUI 的下拉选择combobox后台动态赋值
查看>>
timeline时间轴进度“群英荟萃”
查看>>
python if else elif statement
查看>>