用栈实现队列&&

发布时间:2024年01月23日

class MyQueue:

? ? def __init__(self):

? ? ? ?

? ? ? ? self.stack_in = []

? ? ? ? self.stack_out = []


?

? ? def push(self, x: int) -> None:

? ? ? ? self.stack_in.append(x)


?

? ? def pop(self) -> int:

? ? ? ? if self.empty():

? ? ? ? ? ? return 0

? ? ? ? if self.stack_out:

? ? ? ? ? ? return self.stack_out.pop()

? ? ? ? else :

? ? ? ? ? ? for i in range(len(self.stack_in)):

? ? ? ? ? ? ? ? self.stack_out.append(self.stack_in.pop())

? ? ? ? ? ? return self.stack_out.pop()

? ? ? ?


?

? ? def peek(self) -> int:

? ? ? ? ans=self.pop()

? ? ? ? self.stack_out.append(ans)

? ? ? ? return ans



?

? ? def empty(self) -> bool:

? ? ? ? return not (self.stack_in or self.stack_out)



?

# 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()

文章来源:https://blog.csdn.net/Zxy18327720221/article/details/135794396
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。