剑指offer 简单题目1

1、用两个栈实现队列的push和pop;

https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6?tpId=13&tqId=11158&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking&tab=answerKey

栈:先进后出

队列:先进先出

push:stack1直接存

pop:stack1的栈顶开始,存入stack2中;(stack1为顺序存入,stack2为倒序存入)

例:

stack1:  栈底先进(队首先进)1 2 3 4 5(队尾)栈顶; 

stack2:  栈底(队尾)5 4 3 2 1(队首先出)栈顶先出;

但是!pop时若stack2为空,需要先将stack1倒序存入stack2(同时stack1.pop()

 

 

 

posted @ 2021-04-30 21:40  小周不爱吃鱼  阅读(41)  评论(0)    收藏  举报