題目描述:用兩個棧來實現乙個佇列,完成佇列的push和pop操作。 佇列中的元素為int型別。
【總結】
兩次出入棧相當於順序還是沒變。
如:123
(1).依次入棧後1在底,3在頂;
(2).再將棧中元素依次取出入另乙個棧,取出順序為321,
(3).入棧後為3在棧底,1在棧頂;這時,再出棧,順序仍為123;
}result = stack2.top();//int型返回值為出佇列的元素,即stack2棧頂元素
stack2.pop();//出隊後自然要刪除
return result;
}private:
stackstack1;//stack1執行入隊的操作
stackstack2;//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中剩下的元素...