キューとスタック(2つのキューのアナログ)を実装leetccode 225

以下のスタックを使用してキューの実装:

プッシュ(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->空(); 
 * /

 

おすすめ

転載: www.cnblogs.com/wz-archer/p/12606959.html