Day 5 232. 用栈实现队列
232. 用栈实现队列
题目
1 | |
题目思路
- 如题所给,创建两个栈,其中 s1 为入栈,s2 为出栈;
- 由于栈是动态实现的,不存在上溢问题,所以入栈只需要将 x 保存至 s1 中即可;
- 在 pop() 与 peek() 函数中,是相同的逻辑,只是一个需要删除,一个不需要删除。
题目代码
代码块
1 | |
复杂度
- 时间复杂度:均摊 O(1)。除了调用 pop() 与 peek() 初次需要较长的时间之外,其余都只需要 O(1) 的复杂度(击败 100% 应该就是 O(1) 吧)。
- 空间复杂度:O(n),两个栈一共存放输入 n 个数据规模,故应为 O(n)。
Day 5 232. 用栈实现队列
https://chaggle.github.io/2021/09/14/leetcode/91-day/day-05-232-implement-queue-using-stacks/