LeetCode 225. Implement Stack using Queues(使用队列来实现栈)
来源:互联网 发布:mac的密码忘记了 编辑:程序博客网 时间:2024/06/10 09:13
原题网址:https://leetcode.com/problems/implement-stack-using-queues/
Implement the following operations of a stack using queues.
- push(x) -- Push element x onto stack.
- pop() -- Removes the element on top of the stack.
- top() -- Get the top element.
- empty() -- Return whether the stack is empty.
- You must use only standard operations of a queue -- which means only
push to back
,peek/pop from front
,size
, andis empty
operations are valid. - Depending on your language, queue may not be supported natively. You may simulate a queue by using a list or deque (double-ended queue), as long as you use only standard operations of a queue.
- You may assume that all operations are valid (for example, no pop or top operations will be called on an empty stack).
源代码:
class MyStack { private Queue<Integer> queue = new LinkedList<Integer>(); private Queue<Integer> buf = new LinkedList<Integer>(); // Push element x onto stack. public void push(int x) { buf.add(x); while (!queue.isEmpty()) buf.add(queue.remove()); Queue<Integer> temp = queue; queue = buf; buf = temp; } // Removes the element on top of the stack. public void pop() { queue.remove(); } // Get the top element. public int top() { return queue.peek(); } // Return whether the stack is empty. public boolean empty() { return queue.isEmpty(); }}时间复杂度:压栈O(n),出栈、查看栈顶为O(1),空间复杂度为O(n)
0 0
- LeetCode 225. Implement Stack using Queues(使用队列来实现栈)
- Leetcode 225 Implement Stack using Queues 使用队列实现栈
- leetcode 225. Implement Stack using Queues 双队列实现栈
- LeetCode 225 Implement Stack using Queues(用队列来实现栈)(*)
- 225. Implement Stack using Queues (用队列实现栈)
- LeetCode OJ 之 Implement Stack using Queues(使用队列实现栈)
- LeetCode Implement Stack using Queues 栈&队列
- 两个队列实现一个栈[leetcode]Implement Stack using Queues
- 225.Implement Stack using Queues (用队列实现栈)
- 栈-Implement Stack using Queues(用队列实现栈)
- LeetCode学习之-225. 利用队列实现堆栈(Implement Stack using Queues)
- [LeetCode-225] Implement Stack using Queues(两个队列实现栈)
- LeetCode 225 Implement Stack using Queues(利用队列实现栈)
- Implement Stack using Queues 用队列实现栈
- Implement Stack using Queues 两个队列实现一个栈
- Implement Stack using Queues 用队列实现栈
- 【LeetCode-面试算法经典-Java实现】【225-Implement Stack using Queues(用队列实现栈操作)】
- 225. Implement Stack using Queues (用队列模拟栈)
- 用OpenInventor实现的NeHe OpenGL教程-第四十六课
- 用OpenInventor实现的NeHe OpenGL教程-第四十七课
- 用OpenInventor实现的NeHe OpenGL教程-第四十八课
- android的Environment类
- Android 获取内存、内部存储、外部存储空间大小
- LeetCode 225. Implement Stack using Queues(使用队列来实现栈)
- centos redis 安装
- android 选择本地图片并截剪图片保存到,sdcard指定目录中
- redis 设置认证密码
- redis 主从复制 【待验证】
- hadoop学习笔记
- [数据库] Navicat for Oracle基本用法图文介绍
- LeetCode 226. Invert Binary Tree(反转二叉树)
- Quartz中时间表达式的设置-----corn表达式