在栈中压入一个字符串c语言,面试题 31:栈的压入、弹出序列

题目描述

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

思路

用一个辅助栈,按压入顺序进行压入。

先将压入顺序中的第一个数字压入辅助栈,然后与弹出顺序的第一个数字进行比较是否相等。

如果不相等,则继续往辅助栈压入数字,继续与弹出顺序的第一个数字进行比较是否相等。

如果是相等的,那就将这个压入辅助栈的数字弹出,然后弹出顺序往后移动一位,接着继续将辅助栈中的元素与弹出顺序里的数字比较。

如果比较过程中辅助栈中没有数字了,则继续将剩余数字压入辅助栈中。

只要最后辅助栈为空,则说明弹出顺序是此栈的弹出序列。

代码

import java.util.Stack;

public class Solution {

public boolean IsPopOrder(int [] pushA,int [] popA) {

if (pushA == null || pushA.length == 0 || popA == null || popA.length == 0

|| pushA.length != popA.length) {

return false;

}

Stack stack = new Stack<>();

// 记录弹出顺序中的索引

int popIndex = 0;

for (int i = 0; i < pushA.length; i++) {

stack.push(pushA[i]);

while (!stack.isEmpty() && stack.peek() == popA[popIndex]) {

stack.pop();

popIndex++;

}

}

return stack.isEmpty();

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303802.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谈谈对IOC及DI的理解与思考

一、前言在实际的开发过程中&#xff0c;我们经常会遇到这样的情况&#xff0c;在进行调试分析问题的时候&#xff0c;经常需要记录日志信息&#xff0c;这时可以采用输出到控制台。因此&#xff0c;我们通常会定义一个日志类&#xff0c;来实现输出日志。定义一个生成验证的逻…

关于perl和shell的参数传递

Perl 1.命令行参数传递 *Perl **ARGV $_ARGV[0] $#ARGV为参数的个数-1 ($#array 只适用于array不适用%hash) *Shell $1 $2 参数个数$#(不用减1,是否可以用来判断是否有命令行参数&#xff1f;) 2.函数参数传递 *Perl **_ 传递了所有的函数参数。如果是对象中的方法。$_[0] 是…

NET问答:如何理解 IEnumerableT 和 IQueryableT

咨询区 stackoverflowuser&#xff1a;请问类型 IQueryable<T> 和 IEnumerable<T> 有什么异同&#xff1f;我应该使用哪一个而不是另一个&#xff0c;代码如下&#xff1a;IQueryable<Customer> custs from c in db.Customers where c.City "<Cit…

c语言实现字母转化为unicode码,用C语言实现中文到unicode码的转换

由于本人喜欢用Notepad编辑器&#xff0c;该编辑器的好处是小巧灵活&#xff0c;但是有几个地方做的不足&#xff0c;但是我都能够很好的采取相应的措施来替代&#xff0c;下面让我们看看Notepad有哪些地方的不足&#xff0c;进而采取怎样的措施。一&#xff1a;Notepad不能编译…

终于有人把云计算、大数据和人工智能讲明白了!

今天跟大家讲讲云计算、大数据和人工智能。为什么讲这三个东西呢&#xff1f;因为这三个东西现在非常火&#xff0c;并且它们之间好像互相有关系&#xff1a;一般谈云计算的时候会提到大数据、谈人工智能的时候会提大数据、谈人工智能的时候会提云计算……感觉三者之间相辅相成…

c语言程序设计新编教程答案钱雪忠,新编C语言程序设计教程

图书简介配套资源&#xff1a;电子课件、习题解答、源代码本书特色&#xff1a;★精选例题&#xff0c;引入了大量趣味性、游戏性应用实例&#xff0c;注重与加强程序阅读、参考、编写和上机调试实践的能力&#xff0c;重在编程思路的培养与训练。★概念清晰但不烦琐&#xff1…

***指定网站

1.***指定网站&#xff1b;查找SQL注入点&#xff1b;碰到网站地址是以asp&#xff1f;44.php&#xff1f;44.等结尾的动态网页注入大家自己在论坛搜索资料。关键词SQL。 这里讲些小经验&#xff0c;有的网页如http://www.***.com/article/today/265501.html大家知道以HTML结尾…

聊一聊如何在.NET Core中使用Nacos 2.0

前言 随着 nacos 2.0.0 正式发布&#xff0c;老黄这边也跟着发布了 1.0.2 版本的 nacos-sdk-csharp。下面简单聊一下相关的使用。纯 SDK 的使用 首先要安装 nuget 包<PackageReference Include"nacos-sdk-csharp" Version"1.0.2" />这里有一点要注意…

c语言格式字符If,C语言所有语句格式 C语言中的的if语句共有多少种格式?

导航&#xff1a;网站首页 >C语言所有语句格式 C语言中的的if语句共有多少种格式&#xff1f;C语言所有语句格式 C语言中的的if语句共有多少种格式&#xff1f;相关问题:匿名网友:1.if语句&#xff1a;if(Bool表达式)&#xff5b;如果表达式为true,执行此表达式&#xff5d;…

听说你刚转了Java?准备转回.NET吧!

牛年跳槽季如火如荼&#xff0c;敏锐点的小伙伴儿应该都留意到了&#xff0c;BAT新年都在招聘.NET。2020年11月份发布.NET5统一了七大应用方向&#xff0c;.NET6的2个预览版已经把Blazor升级、跨平台UI方案MAUI、CLR性能优化等都放出来了&#xff0c;.NET前景充满想象&#xff…

poj2253

dijkstra 把存最短距离的数组改为存储frog distance即可 #include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> using namespace std;const int maxn 201, inf 1000000000;struct point {int x, y;…

一个人开始废掉的3种迹象

1作家李尚龙说&#xff1a;“在大城市里&#xff0c;搞废一个人的方式特别简单。给你一个安静狭小的空间&#xff0c;给你一根网线&#xff0c;最好再加一个外卖电话。好了&#xff0c;你开始废了。”之前的我并不相信人会这么轻易地堕落&#xff0c;直到身边出现了一个真实的例…

WPF 动态更换图片路径

wpf中动态修改图片路径&#xff0c;其实很简单&#xff0c;有个小伙伴有疑问&#xff0c;绑定了source,为什么不能显示图片呢。。。通过绑定&#xff0c;修改图片路径&#xff0c;动态显示图片&#xff0c;效果如下&#xff1a;图片支持本地路径和网络路径&#xff0c;下面就来…

信管专业c语言考什么,计算机信息管理专业卫生事业单位招聘考试笔试模拟题(十)...

关于计算机信息管理专业卫生事业单位招聘考试笔试模拟题&#xff0c;相信很多人都想知道&#xff0c;医学教育网经过搜集整理&#xff0c;特别整理以下内容&#xff0c;希望对您有帮助&#xff01;1、题干&#xff1a;广域网一般采用网状拓扑构型&#xff0c;该构型的系统可靠性…

poj2996

本题是简单的模拟&#xff0c;使用双层vector嵌套存储棋子的位置和种类&#xff0c;然后分别对每个vector进行排序 注意&#xff1a;排序方法为sort(piece[i].begin(), piece[i].end(), cmpWhite); 当然&#xff0c;cmpWhite是比较函数&#xff0c;可以不加比较函数&#xff0c…

听说你在学习算法?清华教授为你准备了一份独家秘籍!

也许您渴望进入国内外IT名企&#xff0c;却屡屡在算法类面试中折戟&#xff0c;苦恼不知如何破解困境&#xff1b;也许您是一位IT工程师&#xff0c;却因为算法能力不足而错过无数次的升职加薪&#xff0c;困扰不知如何突破瓶颈&#xff1b;也许您是一位大学生/中学生&#xff…

一文说通Dotnet操作MongoDB GridFS

补个技术债。这个主题一直在列表中&#xff0c;今天把它补上。还有一个原因&#xff0c;就是网上能查到的代码&#xff0c;大多已经过期了。今天写的&#xff0c;是按最新的SDK做的例子。一、MongoDB GridFS先说说 GridFS。MongoDB 是用 Bson 来存储数据的&#xff0c;每一行数…

linux path减少,Linux的环境变量PATH中所带来的问题及解决方法

Linux的环境变量PATH中所带来的问题及解决方法发布时间:2006-01-07 10:08:27来源:红联作者:yo本文主要讲述“.”在LINUX的环境变量PATH中所带来的问题&#xff0c;及解决的几种方法。正如很多人所知道的$PATH环境变量里存着一张目录列表&#xff0c;当用户要执行某一程序时&…

用VirtualWifi软件实现无线网卡同时连接多个AP。

2019独角兽企业重金招聘Python工程师标准>>> 用VirtualWifi软件实现无线网卡同时连接多个AP。 随着信息技术的发展&#xff0c;越来越多的人开始使用便捷的无线路由器&#xff08;AP&#xff09;组建家庭局域网。当你发现你周围有多个AP可以连接的时候&#xff0c;是…

职场感悟

1&#xff0c;尽量避免到有香港人和新加坡人做上司的外企&#xff0c;不是偏见&#xff0c;是很多事实的经验&#xff0c;不信你可以自己去尝试下&#xff0c;不过不要怪我没提醒过你。 2&#xff0c;不要去有第三方人事代理的外企&#xff0c;比如某人事会告诉你&#xff0c;你…