剑指offer学习笔记

考点:栈、队列

(一)

题目描述:

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

分析:

栈是后进先出的原则,队列是先进先出的原则。

需要两个栈stack1和stack2,压栈的时候直接push进stack1,此时stack2为空。若要让先进的pop的话,则需要把stack1的数逐个push到stack2中,此时最先入栈的数已经在stack2的栈顶,可以pop。所以,在判断是否出栈的时候,需先判断stack1和stack2中元素的情况,如果stack1为空的话,从stack2 中pop;stack1不为空的话,把stack1的元素push进入stack2,然后pop stack2的值。

实现:

剑指offer学习笔记_第1张图片

你可能感兴趣的:(剑指offer学习笔记)