欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

每日算法系列

程序员文章站 2024-03-16 12:51:22
...

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

先将数组存入栈1,此时第一个入栈的成员在底端。再从栈1顶端开始逐步出栈往栈2入栈,到栈1全部取出后,栈2顶端即为第一个入栈成员,后面直接将栈2成员逐个出栈即可成为队列。

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.size() <= 0) {
            while (stack1.size() != 0) {
                stack2.push(stack1.pop());
            }
        }
        return stack2.pop();
    }
}
相关标签: 备战面试 算法