精华内容
下载资源
问答
  • 用两个栈实现队列

    2019-02-28 20:42:50
    用两个栈实现队列

    思路:对于队列来说是先入先出的,栈是先入后出的,这时我们通过俩个栈可以实现一个队列,当入队时,我们将数值append到stack1中,当出队时,我们先将stack1中的值pop出来依次进入到stack2中直到stack1为空,然后返回stack2.pop(),这个值就是我们最先进入stack1栈中的值,这样就实现了队列。

    # -*- coding:utf-8 -*-
    class Solution:
        def __init__(self):
            self.stack1=[]
            self.stack2=[]
        def push(self, node):
            self.stack1.append(node)
            # write code here
        def pop(self):
            if self.stack2==[]:
                while self.stack1:
                    self.stack2.append(self.stack1.pop())
            return self.stack2.pop()

     

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,602
精华内容 3,040
关键字:

用两个栈实现队列