b站破解2023免費版下載抖音企業(yè)推廣
相關題目
225. 用隊列實現(xiàn)棧:彈出元素時,將對首的元素出列加到隊尾,直到只剩下初始隊列時隊尾一個元素為止,然后彈出這個元素,即可實現(xiàn)LIFO
232. 用棧實現(xiàn)隊列:用兩個棧實現(xiàn)隊列的功能,出棧時,將棧1的元素全部彈出壓到棧2中,然后彈出棧2棧頂?shù)脑?#xff0c;即可實現(xiàn)FIFO
# 225. 用隊列實現(xiàn)棧
class MyStack:def __init__(self):self.queue = []def push(self, x: int) -> None:self.queue.append(x)def pop(self) -> int:n = len(self.queue)while n > 1:self.queue.append(self.queue.pop(0))n -= 1return self.queue.pop(0)def top(self) -> int:return self.queue[-1]def empty(self) -> bool:return len(self.queue) == 0
# 232. 用棧實現(xiàn)隊列
class MyQueue:def __init__(self):self.stk1 = []self.stk2 = []def push(self, x: int) -> None:self.stk1.append(x)def pop(self) -> int:# 先調? peek 保證 s2 ?空self.peek()return self.stk2.pop()def peek(self) -> int:if not self.stk2:while self.stk1:self.stk2.append(self.stk1.pop())return self.stk2[-1]def empty(self) -> bool:return len(self.stk2) == 0 and len(self.stk1) == 0