Python :用两个栈实现队列

转自:http://blog.csdn.net/Lynette_bb/article/details/75092745

牛客网上的剑指 offer的在线编程: 

题目描述

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 [python] view plain copy  
  1. # -*- coding:utf-8 -*-  
  2. class Solution:  
  3.     def __init__(self):  
  4.         self.stack1 = []  
  5.         self.stack2 = []  
  6.     def push(self, node):  
  7.         # write code here  
  8.         self.stack1.append(node)  
  9.     def pop(self):  
  10.         # return xx  
  11.         if self.stack2:  
  12.             return self.stack2.pop()  
  13.         elif not self.stack1:  
  14.             return None  
  15.         else:  
  16.             while self.stack1:  
  17.                 self.stack2.append(self.stack1.pop())  
  18.             return self.stack2.pop()  

你可能感兴趣的