劍指Offer5:用兩個棧實現佇列
阿新 • • 發佈:2018-11-27
思路:
1.初始化兩個棧stack1和stack2。
2.入隊:將元素append進棧stack1
3.出隊:判斷棧stack2是否為空,如果為空,則將棧stack1中所有元素pop,並append進棧stack2,棧stack2再pop出棧; 如果不為空,棧stack1直接pop出棧。(pop:預設取出最後一個元素,append:新的元素加在最後)
# -*- coding:utf-8 -*- class Solution: def __init__(self): self.stack1=[] self.stack2=[] def push(self, node): # write code here self.stack1.append(node) def pop(self): # return xx if self.stack2==[]: while self.stack1: self.stack2.append(self.stack1.pop()) return self.stack2.pop()
跟著大佬們好好學習,準沒錯