美文网首页
9-2. 用两个队列实现栈

9-2. 用两个队列实现栈

作者: oneoverzero | 来源:发表于2020-01-30 15:08 被阅读0次

    代码:

    class Solution:
        from collections import deque
        def __init__(self):
            self.queue1, self.queue2 = deque(), deque()
        
        # 用两个deque实现push操作
        def push(self, x):
            self.queue2.append(x)
            while self.queue1:
                self.queue2.append(self.queue1.popleft())
            self.queue1, self.queue2 = self.queue2, self.queue1
        
        # 用一个deque实现push操作
        def push(self, x):
            self.queue1.append(x)
            for i in range(len(self.queue1)-1):
                self.queue1.append(self.queue1.popleft())
                
        def pop(self):
            return self.queue1.popleft()
        
        def top(self): # 取队首元素
            return self.queue1[0]
        
        def empty(self):
            return not self.queue1
    

    相关文章

      网友评论

          本文标题:9-2. 用两个队列实现栈

          本文链接:https://www.haomeiwen.com/subject/oybithtx.html