关闭

LeetCode Implement Stack using Queues

标签: javaleetcodeQueueStack
141人阅读 评论(0) 收藏 举报
分类:

Description:

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.

Solution:

利用两个queue来模拟stack的方法,这里使用的是直接用queue的顺序,模拟stack的顺序,只需要push的时候改变一下,其他方法可以用queue的原有方法。

import java.util.*;

public class MyStack {

	LinkedList<Integer> queue = new LinkedList<Integer>();

	// Push element x onto stack.
	public void push(int x) {
		LinkedList<Integer> temp = new LinkedList<Integer>();
		while (!queue.isEmpty())
			temp.add(queue.poll());
		queue.add(x);
		while (!temp.isEmpty())
			queue.add(temp.poll());
	}

	// Removes the element on top of the stack.
	public void pop() {
		queue.poll();
	}

	// Get the top element.
	public int top() {
		return queue.peek();
	}

	// Return whether the stack is empty.
	public boolean empty() {
		return queue.isEmpty();
	}
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:62643次
    • 积分:3261
    • 等级:
    • 排名:第10459名
    • 原创:288篇
    • 转载:0篇
    • 译文:0篇
    • 评论:4条
    最新评论