試解leetcode算法題--用隊列實現棧

<題目描述>
使用隊列實現棧的下列操作:
push(x) – 元素 x 入棧
pop() – 移除棧頂元素
top() – 獲取棧頂元素
empty() – 返回棧是否爲空
<原題鏈接>
https://leetcode-cn.com/problems/implement-stack-using-queues/
<理明思路>
利用python中list來簡單模擬一個棧。
<樣例代碼>

class MyStack:

    def __init__(self):
        """
        Initialize your data structure here.
        """
        self.array_stack = []

    def empty(self):
        if len(self.array_stack)==0:
            return True
        else:
            return False

    def push(self, x):
        """
        Push element x onto stack.
        :type x: int
        :rtype: void
        """
        self.array_stack.append(x)

    def pop(self):
        """
        Removes the element on top of the stack and returns that element.
        :rtype: int
        """
        if self.empty():
            raise Exception('stack empty')
        else:
            return self.array_stack.pop()

    def top(self):
        """
        Get the top element.
        :rtype: int
        """
        if self.empty():
            raise Exception('stack empty')
        else:
            return self.array_stack[-1]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章