标签:
题目描述:
Implement the following operations of a queue using stacks.
Notes:
push to top
, peek/pop from top
, size
, and is empty
operations are valid.解题思路:
使用两个stack,一个用于插入数据,另一个用于输出数据。
代码如下:
class MyQueue { Stack<Integer> input = new Stack<Integer>(); Stack<Integer> output = new Stack<Integer>(); // Push element x to the back of queue. public void push(int x) { input.push(x); } // Removes the element from in front of queue. public void pop() { peek(); output.pop(); } // Get the front element. public int peek() { if(output.empty()){ while(!input.empty()){ output.push(input.pop()); } } return output.peek(); } // Return whether the queue is empty. public boolean empty() { return input.empty() && output.empty(); } }
Java [Leetcode 232]Implement Queue using Stacks
标签:
原文地址:http://www.cnblogs.com/zihaowang/p/5102209.html