두 개의 큐가 제공 - 구현 한 스택 수상

두 개의 큐가 제공 - 구현 한 스택 수상

제목 설명

두 스택 큐, 완료 큐 푸시 팝 작업을 달성했다. 큐 요소 int입니다.

문제 해결 아이디어

두 스택 큐의 사용, 대기열의 처음 두 대향 단부. 푸시 큐 작업은, 첫째, 팝업 stack2에 다음 첫 번째 요소를 비우 다음 그들을 stack1 밀어하지 않을 경우 stack2이 비어 있는지 여부를 확인해야합니다 팝 작업 큐는, 첫째 stack1가 비어로 선택, stack1가 비어 있는지를 결정한다 -1을 반환하고 값 stack1의 stack2을 밀어 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;
    
    }
}
출시 일곱 개 원래 기사 · 원 찬양 1 · 조회수 159

추천

출처blog.csdn.net/liqiao96/article/details/105148592