剑指offerQ5 用两个栈来实现一个队列

剑指offerQ5

题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

队列:是一种特殊的线性表 先进先出
在这里插入图片描述

栈stack:堆栈 后进先出
push :在顶部插入一个元素
pop:在顶部删除一个元素
在这里插入图片描述
堆heap 是在程序运行时申请内存,动态分配内存

参考文章: https://blog.csdn.net/m0_37622530/article/details/81429837
https://blog.csdn.net/qq_42092177/article/details/80459227

用两个栈来实现队列
push:直接push进stack1
pop:先将stack1中的元素全部转入stack2中 从stack2栈顶弹出

注意这时可以要继续push进新的数字
观察stack2栈顶是否存在数字,即栈是否为空;不为空则先弹出stack2中的数字,空之后再将stack1中所有数字全部转入stack2中

发布了15 篇原创文章 · 获赞 0 · 访问量 126

猜你喜欢

转载自blog.csdn.net/kikiwindsky/article/details/104196638