3月打卡活动第1天 LeetCode第225题:用队列实现栈(简单)

3月打卡活动第1天 LeetCode第225题:用队列实现栈(简单)

  • 题目:
  • 解题思路:虽然是简单的题,但是对于我这个不懂栈和队列的人来说还是不好做,学习了几个基本方法,又看了看题解方法,才将我的做法改对,真是太难了。。
    在这里插入图片描述
class MyStack {
    Queue<Integer> queue;

    public MyStack() {
        //创建一个链表
        queue = new LinkedList<>();
    }
    //添加
    public void push(int x) {
        queue.add(x);
    }
    //移除栈顶元素
    public int pop() {
        //队列是先入先出,所以先让其他的出去才能得到最后一个
        return fan();
    }
    
    public int fan(){
        int size = queue.size();
        for (int i = 1; i < size; i++) {
            queue.add(queue.remove());
        }
        return queue.remove();
    }
    //获取栈顶元素
    public int top() {
        int peek = fan();
        queue.add(peek);
        return peek;
    }

    //检验是否为空
    public boolean empty() {
        if(queue.peek()==null) return true;
        return false;
    }
}

在这里插入图片描述

发布了100 篇原创文章 · 获赞 12 · 访问量 2367

猜你喜欢

转载自blog.csdn.net/new_whiter/article/details/104597179