zoukankan      html  css  js  c++  java
  • 232. 用栈实现队列

    232. 用栈实现队列

    方法一

    class MyQueue(object):
    
        def __init__(self):
            """
            Initialize your data structure here.
            """
            self.stack1 = []
            self.stack2 = []
            
    
        def push(self, x):
            """
            Push element x to the back of queue.
            :type x: int
            :rtype: void
            """
            self.stack1.append(x)
            
    
        def pop(self):
            """
            Removes the element from in front of queue and returns that element.
            :rtype: int
            """
            if self.stack2:
                return self.stack2.pop()
            else:
                while self.stack1:
                    e = self.stack1.pop()
                    self.stack2.append(e)
                return self.stack2.pop()
            
    
        def peek(self):
            """
            Get the front element.
            :rtype: int
            """
            if self.stack2:
                return self.stack2[len(self.stack2) - 1]
            else:
                while self.stack1:
                    e = self.stack1.pop()
                    self.stack2.append(e)
                return self.stack2[len(self.stack2) - 1]
            
    
        def empty(self):
            """
            Returns whether the queue is empty.
            :rtype: bool
            """
            if len(self.stack1) == 0 and len(self.stack2) == 0:
                return True
            else:
                return False
            
    
    
    # Your MyQueue object will be instantiated and called as such:
    # obj = MyQueue()
    # obj.push(x)
    # param_2 = obj.pop()
    # param_3 = obj.peek()
    # param_4 = obj.empty()
    """
    • push(x) -- 将一个元素放入队列的尾部。
    • pop() -- 从队列首部移除元素。
    • peek() -- 返回队列首部的元素。
    • empty() -- 返回队列是否为空。
    """
  • 相关阅读:
    Google TensorFlow 机器学习框架介绍和使用
    Linux下chkconfig命令详解转载
    wireshark----linux
    linux 开机自启转载
    linux 开机自启
    linux 开机自启脚本
    当进行make命令学习是出现error trying to exec 'cc1': execvp: No such file or directory
    centos6.4安装GCC
    安装cmake
    整型数转字符串
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/10297705.html
Copyright © 2011-2022 走看看