我的leetcode代码已放入github:https://github.com/gaohongbin/leetcode
题目:
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.
翻译:
用队列实现栈的功能。
代码:
class MyStack {
// Push element x onto stack.
Queue<Integer> q1=new LinkedList<Integer>();
Queue<Integer> q2=new LinkedList<Integer>();
Queue<Integer> temp=null;
public void push(int x) {
q1.offer(x);
}
// Removes the element on top of the stack.
public void pop() {
while(q1.size()>1)
q2.offer(q1.poll());
q1.poll();
temp=q1;
q1=q2;
q2=temp;
}
// Get the top element.
public int top() {
while(q1.size()>1)
q2.offer(q1.poll());
int x=q1.poll();
q2.offer(x);
temp=q1;
q1=q2;
q2=temp;
return x;
}
// Return whether the stack is empty.
public boolean empty() {
return q1.isEmpty();
}
}
本文介绍了一种使用两个队列来模拟栈行为的方法,并提供了完整的Java代码实现。该方法包括push、pop、top及判断是否为空等操作。
282

被折叠的 条评论
为什么被折叠?



