您的位置:首页 > 产品设计 > UI/UE

leetcode232 Implement Queue using Stacks

2015-11-05 20:50 405 查看
我的leetcode代码已经放入github:https://github.com/gaohongbin/leetcode

题目:

Implement the following operations of a queue using stacks.
push(x) -- Push element x to the back of queue.
pop() -- Removes the element from in front of queue.
peek() -- Get the front element.
empty() -- Return whether the queue is empty.
翻译:
用栈来实现队列的功能。

代码:

class MyQueue {
Stack<Integer> stack1=new Stack<Integer>();
Stack<Integer> stack2=new Stack<Integer>();
Stack<Integer> temp=null;
// Push element x to the back of queue.
public void push(int x) {
stack1.push(x);
}

// Removes the element from in front of queue.
public void pop() {
while(stack1.size()>1)
stack2.push(stack1.pop());
stack1.pop();
while(stack2.size()>0)
stack1.push(stack2.pop());
}

// Get the front element.
public int peek() {
while(stack1.size()>1)
stack2.push(stack1.pop());
int x=stack1.pop();
stack2.push(x);
while(stack2.size()>0)
stack1.push(stack2.pop());

return x;

}

// Return whether the queue is empty.
public boolean empty() {
return stack1.empty();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode