剑指offer:5 8题
第5题:用两个栈实现队列 题目说明:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 程序: 栈和队列都是操作受限的线性表。 栈:限定仅在表尾进行插入或删除的线性表(先进后出); 队列:允许在线性表的一端进行插入,在另一端进行删除(先进先出)。 在python中,栈和队列都是用列表实现的。将列表的结尾作为栈顶进行插入或删除;将列表的开头作为队尾进行插入,将列表的结尾作为队头进行删除。 本题中,分析可得:栈1+栈2=队列,即栈1的进栈操作用来表示入队操作,栈2的出栈操作用来表示出队操作,注意:当栈2为空时,需将栈1中全部元素出栈到栈2,栈2再出栈即为出队操作。