1. 程式人生 > >劍指Offer5:用兩個棧實現佇列

劍指Offer5:用兩個棧實現佇列

思路:

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

跟著大佬們好好學習,準沒錯