5 用兩個棧實現佇列

2021-10-01 12:35:04 字數 838 閱讀 6700

題目描述

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。 佇列中的元素為int型別。

python:

# -*- coding:utf-8 -*-

class

solution

:def

__init__

(self)

: self.stack1 =

self.stack2 =

defpush

(self, node)

:while

len(self.stack2)!=0

:))def

pop(self)

:while

len(self.stack1)!=0

:))return self.stack2.pop(

)

c++:

class

solution

// 把stack1中的放入到stack2中,然後取資料,取完之後,將stack2中的元素放入到stack1中

// pop刪除棧頂元素,top取棧頂元素

intpop()

int ele = stack2.

top();

stack2.

pop();

while

(stack2.

size()

)return ele;

}private

: stack<

int> stack1;

stack<

int> stack2;

};

5 用兩個棧實現佇列

用兩個棧實現佇列 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。劍指offer上解題思路很清晰,看一遍解題思路基本上就可以敲出來了。class solution int pop if stack2.empty int ret stack2.top stack2.p...

5 用兩個棧實現佇列

題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。時間限制 1秒 空間限制 32768k 看了一下,推薦的方法和我的思路相近。概念 思路 第乙個棧作為儲存資料用的容器,第二個棧在彈出時作為將資料顛倒的容器,倒過來彈出後,再將剩餘的資料壓入第乙個棧。class...

5 用兩個棧實現佇列

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別 由於佇列是先進先出的,而棧是先進後出的,所以要用2個棧來實現佇列的入隊出隊功能,佇列的入隊功能與棧的一樣,出隊時,先將第乙個棧中的元素全部彈出,並倒入到第二個棧中,將第二個棧中棧頂元素彈出,並將stack2中剩下的元素...