关于牛客网剑指offer编程题思路(栈和队列篇)

相关题目来源

牛客网剑指offer编程题_栈和队列

解题思路

1. 用两个栈实现队列

这道题阿里电话面试的时候问过,本来很简单的,当时太不自信了qaq

首先一个stack是作为接受队列的push输入,另一个stack作为输出pop,用效率比较高的方法是要pop的时候检查一下stack2是否为空,不为空则直接pop,为空则要把stack1所有元素倒给stack2。

2. 包含min函数的栈

用两个栈,一个来存储数据,一个来存储数据栈对应的当前min值,两个栈数据的数量要一样多。

3. 栈的压入、弹出序列

这个是判断弹出序列是否为可能的序列之一。

需要一个辅助栈,遍历压入栈序列和弹出序列,栈每次压入后都要判断栈顶的元素是否是弹出序列遍历的首元素,是的话弹出,不是则继续压入直到找到和弹出序列首元素相同的栈顶元素。

遍历结束后判断栈是否为空,是的话弹出序列正确

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值