算法第二周作业03

来源:互联网 发布:网络布线系统图 编辑:程序博客网 时间:2024/06/07 13:04

Description

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

Solutions

入队时,直接向其中一个栈(假设stack1)进行入栈操作;

出队时,将stack1的除了最里面的数据,全部依次出栈并入栈stack2,然后stack1剩余的一个元素就是出队结果,把它出栈并保存为临时变量,用于返回;然后将stack2的数据全部出栈并入栈stack1.

Code

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() {    while(stack1.size() != 1){            stack2.push(stack1.pop());        }        int result = stack1.pop();        while(!stack2.isEmpty()){            stack1.push(stack2.pop());        }        return result;    }}


0 0
原创粉丝点击