LeetCode225 Implemet Stack using Queues Java题解

原创 2015年07月09日 11:58:05

题目:

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.
Notes:
  • You must use only standard operations of a queue -- which means only push to backpeek/pop from frontsize, and is emptyoperations 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 {
  
	Queue<Integer> queue=new LinkedList<Integer>();
    public void push(int x) {
    	queue.offer(x);
    	int i=queue.size()-1;
    	while(i>0)
    	{
    		queue.offer(queue.poll());
    		i--;
    	}
        
    }


    public void pop() {
        queue.poll();
    }


    public int top() {
        return queue.peek();
    }

   
    public boolean empty() {
    	return queue.isEmpty();
        
    }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【LeetCode】Implement Stack using Queues 解题报告

【题目】 Implement the following operations of a stack using queues. push(x) -- Push element x o...

【LeetCode-面试算法经典-Java实现】【225-Implement Stack using Queues(用队列实现栈操作)】

【225-Implement Stack using Queues(用队列实现栈操作)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】代码下载【https://github.co...

LeetCode[225] Implement Stack using Queues

Implement the following operations of a stack using queues. push(x) -- Push element x onto stack....

【一天一道LeetCode】#225. Implement Stack using Queues

一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder‘s Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目...

【leetcode】225. Implement Stack using Queues

题目要求: Implement the following operations of a stack using queues. push(x) -- Push element x on...

[leetcode] 225. Implement Stack using Queues 解题报告

题目链接:https://leetcode.com/problems/implement-stack-using-queues/ Implement the following operation...

leetcode 225. Implement Stack using Queues

题目Implement the following operations of a stack using queues.push(x) – Push element x onto stack. p...

[leetcode: Python]225. Implement Stack using Queues

题目: mplement the following operations of a stack using queues.push(x) – Push element x onto stack. ...
  • NXHYD
  • NXHYD
  • 2017-05-12 12:54
  • 164

Leetcode225. Implement Stack using Queues

该题和232题类似,思想上差不多232题 原题 Implement the following operations of a stack using queues.push(x) – Push ...

【leetcode】【225】Implement Stack using Queues

一、问题描述 Implement the following operations of a stack using queues. push(x) -- Push element x...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)