利用兩個佇列來實現乙個棧的功能
您在真實的面試中是否遇到過這個題? 是
push(1)
pop()
push(2)
isempty() // return false
top() // return 2
pop()
isempty() // return true
實現**:
利用list來模擬佇列,在執行pop操作時,將que1裡的值全部存放在que2中,刪除最後乙個元素後,再放回。
"""@return: true if the stack is empty
"""def isempty(self):
# write your code here
return self.que1 ==
lintcode練習 490 棧集
假如你有一堆的盤子。如果你堆得太高的話,就可能會垮掉。所以,在真實的生活中,如果盤子疊到一定高度,你會重新開始堆新的一堆盤子。實現這樣的乙個資料結構,我們稱之為棧集,來模擬這個過程。這個棧集包含若干個棧 可以理解為若干堆的盤子 如果乙個棧滿了,就需要新建乙個棧來裝新加入的項。你需要實現棧集的兩個方法...
lintcode練習 156 合併區間
給出若干閉合區間,合併所有重疊的部分。您在真實的面試中是否遇到過這個題?是 given intervals merged intervals 1,3 1,6 2,6 8,10 8,10 15,18 15,18 o n log n 的時間和 o 1 的額外空間。實現 思路 先對列表按照start進行排...
lintcode練習 148 顏色分類
給定乙個包含紅,白,藍且長度為 n 的陣列,將陣列元素進行分類使相同顏色的元素相鄰,並按照紅 白 藍的順序進行排序。我們可以使用整數 0,1 和 2 分別代表紅,白,藍。不能使用 庫中的排序函式來解決這個問題。排序需要在原陣列中進行。您在真實的面試中是否遇到過這個題?是 給你陣列 1,0,1,2 需...