安全プラン9(Javaバージョン)を証明するためにインタビューの質問:2つのキュースタック

免責事項:この記事はブロガーオリジナル記事ですが、許可ブロガーなく再生してはなりません。https://blog.csdn.net/littlehaes/article/details/91384541

私のブログへようこそ

安全プラン9(Javaバージョン)を証明するためにインタビューの質問:2つのキュースタック

タイトル説明

キューを達成するための2つのスタック、完了キューのプッシュとポップ操作。キューの要素がint型。

考え

  • 2つのスタックstack1、stack2を作成します。
  • 要素を追加するための唯一の責任stack1
  • 要素を除去するためだけに責任stack2、直接(POP stack2空でない)頂部要素へstack2が空である場合、第一stack1の要素は(POP次いで、stack2をプッシュ)上部要素

複雑

import java.util.Stack;

public class Solution {
    Stack<Integer> stack1 = new Stack<Integer>();
    Stack<Integer> stack2 = new Stack<Integer>();
    
    public void push(int node) {
        stack1.push(node);
    }
    
    public int pop() {
        if(stack2.isEmpty()){
            while(!stack1.isEmpty()){
                stack2.push(stack1.pop());
            }
            return stack2.pop();
        }
        else{
            return stack2.pop();
        }
    }
}

おすすめ

転載: blog.csdn.net/littlehaes/article/details/91384541