免責事項:この記事はブロガーオリジナル記事ですが、許可ブロガーなく再生してはなりません。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();
}
}
}