2つのキューがオファー実装スタックを受賞

2つのキューがオファー実装スタックを受賞

タイトル説明

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

問題解決のためのアイデア

2つのスタックキューの使用、キューの最初の二つの反対側。プッシュキュー操作は、まず、ポップstack2で、最初の要素を空にし、それらがstack1プッシュしていない場合stack2は、空であるかどうかを判断しなければならない;ポップ操作キューは、最初stack1が空になると、選択し、stack1が空であるか否かを判断しますリターン-1 stack2の最初の値をポップ、値stack1 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) {
        int val=0;
    	while(!stack2.empty()){
    		val=stack2.pop();
    		stack1.push(val);
    	}
        stack1.push(node);
    }
    
    public int pop() {
        int val=0;
    	while(!stack1.empty()){
    		val=stack1.pop();
    		stack2.push(val);
    	}
    	if(!stack2.empty()){
    	    val=stack2.pop();
    	    return val;
    	}
    	else 
    		return -1;
    
    }
}
リリース7件のオリジナルの記事 ウォンの賞賛1 ビュー159

おすすめ

転載: blog.csdn.net/liqiao96/article/details/105148592