前言:
这也是一道比较简单的题目
下面说说我的思路吧
思路:两个栈,一个栈是push()方法中存放元素的栈(stack1);在pop()方法中,将stack1的除首元素外的所有元素循环出栈给stack2,那么stack1的出栈操作即可拿到队列的pop()的返回值,然后将stack1清空,将stack2的所有元素全部出栈给stack1,那么这个队列的pop()方法就完成了。
重点在于两个栈实现队列的pop()方法的实现
好吧,下面放代码
这题不难,下面写点收获吧,就翻了翻Java的Stack源码,回忆了下Java数据结构吧
- Stack类还是比较古老的,JDK1.0就有了,继承了Vector,底层还是数组实现的
- Java的Stack除了push()、pop()方法外,还有peek()方法,用于返回栈顶元素的值,不出栈;此外还有几个,都比较简单,翻翻都能看懂
- emm,或许还有更优的解法,后续知道了,会增修本篇