コード例 #1
0
class Stack:
    def __init__(self, length=5):
        self.q1 = Queue(length)
        self.q2 = Queue(length)

    # O(1)
    def push(self, x):
        self.q1.enqueue(x)

    # O£¨n£©
    def pop(self):
        if self.q1.isEmpty():
            raise Exception("Empty Stack")
        while len(self.q1) > 1:
            self.q2.enqueue(self.q1.dequeue())
        v = self.q1.dequeue()
        self.q1, self.q2 = self.q2, self.q1
        return v

    # O(1)
    def isEmpty(self):
        return self.q1.isEmpty()