以下のスタックを使用してキューの実装:
プッシュ(X) -スタック上のx要素
ポップ() -スタックの上部除去
)(トップ-トップ要素を取得し
(空の) -スタックを返し、空である
注
ポップ/ PEEK、バックにプッシュです-あなただけのキューの基本的な操作を使用することができますサイズ、フロント、 およびこれらの操作の空で有効です。
使用している言語は、キューをサポートしていないかもしれません。あなたは長い間、標準の操作などとしてキュー、キューをシミュレートするために、リストまたは両端キュー(両端キュー)を使用することができます。
あなたはすべての操作は、(例えば、空のスタックにポップ操作やトップを呼び出すことはありません)有効であることを仮定してもよいです。
70324回から提出された45211回
出典:滞在ボタン(LeetCode)
リンクします。https://leetcode-cn.com/problems/implement-stack-using-queues
クラスMyStack { パブリック: / * ここ*初期化データ構造。* / キュー < int型 > A; キュー < int型 > B; MyStack(){ } / * *プッシュ要素Xスタックに。* / ボイドプッシュ(INT X){ b.push(X)。 一方、(!a.empty()){ int型の Y = )(a.front。 b.push(Y)。 a.pop(); } ながら(!b.empty()){ int型Y = b.front()。 a.push(Y)。 b.pop(); } } / * *スタックの一番上の要素と戻り、その要素を削除します。* / int型のポップ(){ int型、Y = a.front()。 a.pop(); リターンY; } / * *トップの要素を取得します。* / int型の上部(){ 戻りa.front()。 } / * *スタックが空であるかどうかを返します。* / BOOL (){空 戻りa.emptyを(); } }。 / * * *あなたのMyStackオブジェクトは、次のようなインスタンス化と呼ばれます: * MyStack * OBJ =新しいMyStack(); * obj->プッシュ(X) * int型PARAM_2 = obj->ポップ(); * int型param_3 = obj->トップ(); * BOOL param_4 = obj->空(); * /