【题目】
编写一个类,用两个栈实现队列的基本操作:add、poll、peek
【解法】
一个栈作为压入栈,在压入数据时只往这个栈中压入,记为stackPush。另一个栈只作为单出栈,在弹出数据时只从这个栈弹出,记为stackPop。
stackPop会将stackPush中的数据整体弹出再压入stackPop作为弹出顺序。
需要做到以下两点:
- 如果stackPush要往stackPop中压入数据,那么必须一次性把stackPush中的数据全部压入
- 如果stackPop不为空,stackPush绝对不能向stackPop中压入数据
【代码】
|
|