首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
可能的出栈序列是
[单选题]
若进栈序列为1,2,3.4假定进栈和出栈可以穿插进行,则可能的出栈序列是()
2,4,1,3
3,1,4,2
3,4,1,2
1,2,3,4
查看正确选项
添加笔记
求解答(6)
邀请回答
收藏(161)
分享
9个回答
添加回答
5
zhisheng_blog
我觉得这种入栈和出栈顺序的问题是很简单的了,反正记住“后进先出”原则就可以了
发表于 2016-04-05 23:12:40
回复(0)
12
笑斗涯
个人分析的,如果有错请指正:
原则:如果想要后面的先出栈,那么按照1234的入栈顺序,前面的必须已经入栈,比如要让3第一个出栈,那么入栈顺序为:
1入栈,2入栈,3入栈,之后3出栈,这样3就是第一个出栈的,如果想让4接着出栈,那么就4入栈,然后再出栈,然后2出栈,1出栈
最后出栈顺序为:
3421
以此规则分别分析ABCD
A 表示:
1入栈,2入栈,2出栈,3入栈,4入栈,4出栈,后面3必须先出栈,1才能出栈,所以A错
B表示:
1入栈,2入栈,
3入栈,3
出栈,后面2必须先出栈,1才能出栈,所以B错
C表示:
1入栈,2入栈,
3入栈,3
出栈,
4入栈,4出栈,
后面2必须先出栈,1才能出栈,所以C错
D表示:
1入栈,1
出栈,
2入栈,2
出栈,
3入栈,3
出栈,
4入栈,4出栈,正确
发表于 2015-09-11 19:41:47
回复(3)
3
zio
对于每一个数字, 其后比他小的数字均为降序排列
发表于 2017-09-01 16:51:28
回复(0)
2
江上寒
验证A:1入栈,2入栈,2出栈,3入栈,4入栈,4出栈,此时没有元素入栈,再次出栈的元素为3,1。所以A错误,正确的顺序是:2431。
验证B:1入栈,2入栈,3入栈,3出栈,此时栈中的元素自底向上为1,2,如果要1出栈,则必须先2出栈。
验证C:1入栈,2入栈,3入栈,3出栈,4入栈,4出栈,
此时栈中的元素自底向上为1,2,如果要1出栈,则必须先2出栈。
验证D:1入栈,1出栈,2入栈,2出栈,3入栈,3出栈,4入栈,4出栈。正确。
发表于 2016-02-11 20:58:09
回复(0)
0
牛客180011002号
知道先进后出 同理拿着答案对问题 就可以很明显的发现问题所在了
发表于 2022-12-26 17:27:43
回复(0)
0
想交流的柠檬精很怕黑
<p>可能的种数是C(n,2n)/n+1,可能的每一种都是:对于其后每一个比它小的数字都是降序排列。</p>
发表于 2020-07-06 19:12:03
回复(0)
0
逆向飞翔
后进先出,这是大的原则。进栈序列为1 ,2,3,4,,那么以A选项来说:就一定不会出现1 在3前面出现
发表于 2016-04-21 10:52:41
回复(0)
0
牛客934858号
对于任意正确的出栈序列,应满足,对于任意一个先出栈的k,任意后出栈的i和j,若i<k且j<k,则i和j应按进栈序列逆序出栈
发表于 2016-03-19 19:23:29
回复(0)
0
笑胡滋
选项D
1234进,4321出。
选项A
4先出,说明3已经进栈,所以不可能比1先出栈;
选项B
3先出,说明12已经进栈,所以1不能比2先出栈;
选项C
与选项B 同理:在3 、4先出栈的情况下,1不能比2先出栈。
发表于 2015-09-11 16:31:19
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
栈
来自:
2017CVTE校招在...
难度:
9条回答
161收藏
11086浏览
热门推荐
相关试题
设一组初始关键字记录关键字为(19...
排序
评论
(27)
来自
2017CVTE校招在线笔试题
IP地址205.140.36.68...
网络基础
评论
(16)
来自
2017CVTE校招在线笔试题
有关linux线程的描述,正确的是...
京东
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
对于小红书,创作者和粉丝之间互相不...
需求分析
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题