题目:输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。为了简单起见,我们假设push序列的任意两个整数都是不相等的。
比如输入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一个pop系列。
因为可以有如下的push和pop序列:
push 1,push 2,push 3,push 4,pop,push 5,pop,pop,pop,pop,
这样得到的pop序列就是4、5、3、2、1。
但序列4、3、5、1、2就不可能是push序列1、2、3、4、5的pop序列。
java版本

import java.util.Stack;public static  boolean  isSeriol(int push[],int pop[],int n) {int i=0,j=0;Stack<Integer>mystack = new Stack();while(i<n) {mystack.push(push[i]);i++;while(!mystack.empty() && mystack.peek()==pop[j]){mystack.pop();j++;}}  if(mystack.empty()&&j==n) {return true;}return false;}public static void main(String[] args) {// TODO Auto-generated method stubint pushArray[] = {1,5,3,4,2};  int popArray[] = {4,5,3,2,1};if(isSeriol(pushArray,popArray,5)) {System.out.println("111");}else {System.out.println("222");}}

思路

将push中的数据加入栈中,如果peek与pop相同 那么就弹出,这个比较peek与pop相同应该写在一个while循环中
最终判断栈是否是空的以及j是否等于数组长度。
因为如果最后一个j也被判断了,j++后就是数组的长度。

输入两个整数序列。其中一个序列表示栈的push顺序, 判断另一个序列有没有可能是对应的pop顺序。相关推荐

  1. Java黑皮书课后题第7章:7.27(相同的数组)如果两个数组list1和list2的内容相同,认为相同(不是完全相同)。编写一个测试程序,提示用户输入两个整数列表,然后显示这两个列表是否相同

    7.27(相同的数组)如果两个数组list1和list2的内容相同,认为相同(不是完全相同).编写一个测试程序,提示用户输入两个整数列表,然后显示这两个列表是否相同 题目 题目描述与运行示例 破题 代 ...

  2. Java黑皮书课后题第7章:7.26(完全相同的数组)如果两个数组list1和list2的对应元素都相等,认为完全相同。编写一个测试程序,提示用户输入两个整数列表,然后显示这两个列表是否完全相同

    7.26(完全相同的数组)如果两个数组list1和list2的对应元素都相等,认为完全相同.编写一个测试程序,提示用户输入两个整数列表,然后显示这两个列表是否完全相同 题目 题目描述与运行示例 破题 ...

  3. java每日一练——第四天:输入两个整数num1和num2,请你设计一个程序,计算并输出它们的和、差、积、整数商及余数。

    文章目录 题目描述 问题分析 代码实现 运行结果 网上参考 结语 题目描述 输入两个整数num1和num2,请你设计一个程序,计算并输出它们的和.差.积.整数商及余数. 输入 输入只有两个正整数num ...

  4. 设计求任意两个整数和的web程序,用户通过提交页面(input.jsp)输入两个整数,并提交给一个(sum.jsp)程序

    张继军 董卫 <java web 应用开发技术与实案列教程>课后习题之第三章第4题 题解 题目内容 源代码 input.jsp sum.jsp positive.jsp negetive. ...

  5. java编程用户输入两个数字_编写一个Java应用程序,要求从键盘输入两个整数,计算这两个数据...,编写一个Java应用程序,要求从键盘输入一个数,判断该数是不...

    导航:网站首页 > 编写一个Java应用程序,要求从键盘输入两个整数,计算这两个数据...,编写一个Java应用程序,要求从键盘输入一个数,判断该数是不 编写一个Java应用程序,要求从键盘输入 ...

  6. 写一个程序从键盘输入两个整数,然后显示输出第1个数除以第2个数的结果。

    写一个程序从键盘输入两个整数,然后显示输出第1个数除以第2个数的结果.例如,输入123和12,程序的输出结果格式如下:10 Remainder = 3------12 ) 123提示:使用求余运算符获 ...

  7. 写一个程序从键盘输入两个整数,然后显示第1个整数占第二个整数的百分比,保留到小数点后1位

    int main() {int a, b; printf("请输入两个整数:"); scanf("%d%d", &a, &b); printf( ...

  8. Python Level 4 程序题:输入两个整数,倒序输出

    [创作平台] 肥猴编程 [问题描述] 输入两个整数,倒序输出 [输入格式] 输入两个整数,整数之间用一个空格隔开 [输出格式] 倒序输出这个两个整数,整数之间用一个空格隔开 [输入输出样例 1] [数 ...

  9. ACMNO.7 输入两个正整数m和n,求其最大公约数和最小公倍数。 输入 两个整数 输出 最大公约数,最小公倍数 样例输入 5 7 样例输出 1 35

    题目描述 输入两个正整数m和n,求其最大公约数和最小公倍数. 输入 两个整数 输出 最大公约数,最小公倍数 样例输入 5 7 样例输出 1 35 来源/分类 C语言 示例照片: 设计思路: 本题最难的 ...

最新文章

  1. WebSockets[翻译]
  2. VS 2017开发ASP.NET Core Web应用过程中发现的一个重大Bug
  3. matlab如何模拟竹蜻蜓飞行,JSBSim_Matlab 将 与 进行联合仿真 模拟飞行计算 247万源代码下载- www.pudn.com...
  4. inurllay old.php id,搜索技巧
  5. 如何将rootfs打包进kernel image
  6. 【翻译】Pro.Silverlight.5.in.CSharp.4th.Edition - 第三章 布局 03
  7. Leetcode--994. 腐烂的橘子(java)
  8. idea Maven图标的使用
  9. 计算机可以配置端口号吗,如何设置打印机端口,详细教您设置电脑打印机端口...
  10. ajax/test1.txt,ajax原生请求方法.txt
  11. 全国专业技术人员计算机应用能力考试题,2017年全国专业技术人员计算机应用能力考试题库...
  12. 一招生成定制版二次元人脸头像,还能“模仿”你的表情!
  13. JSON编码MySQL结果
  14. 基于51单片机GPS定位系统经纬度GSM无线传输系统
  15. 华尔街远邻 | 解读国际清算银行对加密货币的暧昧态度
  16. 【Python】使用tushare完成配对交易策略
  17. AD账号频繁被锁定原因
  18. vue中解决模糊搜索输入中文时--未输入完成时触发input事件
  19. 做了6年的小猎头跟大家分享工作经验
  20. 如何成为一个自律的人?这5本书里藏着你想要的答案

热门文章

  1. 详解IIS中URL重写工具的规则条件(Rule conditions)
  2. springboot整合mybatis增删改查(三):mybatis逆向工程
  3. 小程序页面遮罩且不能滚动 + 内容居中显示
  4. lintcode-167-链表求和
  5. java9-6 内部类
  6. 十天精通CSS3(11)
  7. 韩顺平循序渐进学java 第19讲 多维数组
  8. 错误:由于系统启用了内核调试器,因此不可能进行调试解决方案
  9. 11月17日spring mvc入门培训
  10. 使用Silverlight for Embedded开发绚丽的界面(1)