关于栈的面试题

面试题:关于一个栈的输入顺序是1,2,3,4,5则下列序列中不可能是出栈顺序(解题思路)

看到一道web前端笔试题,关于栈的应用,个人总结了一些方法和思维:
题目:一个栈的输入顺序是1,2,3,4,5则下列序列中不可能是出栈顺序是()

A:1,2,3,4,5

B:5,4,3,2,1

C:4,3,5,1,2

D:4,5,3,2,1
答案:c

概念:栈是先进后出
解题思路:看每个答案的首个输出数字,因为题干给出输入顺序为1~5,但不一定是一次性输入,有可能间断输入,例如:先输入1,2进栈,再按情况出栈,再输入3,4,5,再出栈。所以可以根据答案的首个字母判断输入顺序:
A:由于首个数字是1,可以判断首次输入只有1,第二个数字为2,可能情况为1出栈,2进栈,当前栈中只有2,以此类推2出栈,3进栈,3出栈,4进栈,4出栈,5进栈,该方法中栈中始终只有一个数字
B:首个数字是5,判断首次输入顺序为1,2,3,4,5,并且一次性输入,故出栈顺序为5,4,3,2,1
C:首个数字是4,首次输入顺序为1,2,3,4,根据答案来:4先出栈,3再出栈,之后5进栈,5出栈,此时栈中有1,2,所以出栈顺序应该为2,1,而不是1,2(先进后出),故C错误
D:首个数字是4,首次输入顺序为1,2,3,4,根据答案来:4先出栈,5再进栈,之后5出栈,此时栈中有1,2,3,根据先进后出,出栈顺序为3,2,1。
总结:根据答案首个输入数字,判断首次输入顺序为:1~答案给的首个数字 ,什么时候出栈可根据答案来尝试

 - 题干                                    答案                      首次输入顺序

 输入顺序是1,2,3,4,5                       A:1,2,3,4,5               1~1
 输入顺序是1,2,3,4,5                       B:5,4,3,2,1               1~5
 输入顺序是1,2,3,4,5                       C:4,3,5,1,2               1~4
 输入顺序是1,2,3,4,5                       D:4,5,3,2,1               1~4

练习:
题目:一个栈的输入顺序是a,b,c,d,e则下列序列中不可能是出栈顺序是()

A:e,d,a,c,b

B:a,e,d,c,b

C:b,c,d,a,e

D:b,c,a,d,e

答案:A

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值