Advertisement

数据结构:两个栈实现队列的push和pop

阅读量:
复制代码
    """用两个栈来实现一个队列,完成队列的push和pop操作"""
    
    
    class Solution:
    def __init__(self):
        self.stack_a = []
        self.stack_b = []
    
    def push(self, item):
        self.stack_a.append(item)
    
    def pop1(self):
        # b中有数据
        if self.stack_b:
            return self.stack_b.pop()
        # b中没数据,从中拿
        while self.stack_a:
            self.stack_b.append(self.stack_a.pop())
    
        # 判断b有无数据
        if self.stack_b:
            return self.stack_b.pop()
    
        raise Exception('pop is empty')
    
    
    if __name__ == '__main__':
    s = Sol

全部评论 (0)

还没有任何评论哟~