【Java】用两个栈来实现一个队列,完成队列的Push和Pop操作

image description

【Java】用两个栈来实现一个队列,完成队列的Push和Pop操作

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

首先做这道题得知道栈的三个基本的方法:

1.pop():移除栈顶,并作为返回值返回给函数。

2.push(item):入栈

3.isEmpty()判断栈是否为空

队列的入队功能与栈的一样,出队时,先将第一个栈中的元素全部弹出,并倒入到第二个栈中,将第二个栈中栈顶元素弹出,并将stack2中剩下的元素倒回到stack1中,即实现一次出队

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.empty()){
            stack2.push(stack1.pop());
        }
        int ans = stack2.pop();
        while(!stack2.empty()){
            stack1.push(stack2.pop());
        }
        return ans;
    }
}
    ArithmeticJia         0         62         Java         0    

David Ramon

ArithmeticJia

www.guanacossj.com

Life is Short,You need Python

Related Posts

You may like these post too

image description

Leetcode【231】Power

##写在最前面: Given an integer, write a function to determine if it is a power of two. Example 1: Input: 1 Output: true Explanation: 20 = 1 Ex

image description

leetcode【53】最大子序和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 来源:力扣(LeetCode)

Comments on this post

0 comments

Leave a comment

it’s easy to post a comment

image description
image description
image description
image description
image description
image description
image description
image description
image description

Copyright © 2019.Company name All rights reserved.苏ICP备19007197号