标签:
Implement the following operations of a queue using stacks.
push
to top
, peek/pop from top
, size
,
and is empty
operations are valid.class MyQueue { LinkedList<Integer> stack1 = new LinkedList<Integer>(); LinkedList<Integer> stack2 = new LinkedList<Integer>(); // 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() { if (stack2.isEmpty()) { while (!stack1.isEmpty()) { stack2.push(stack1.pop()); } } stack2.pop(); } // Get the front element. public int peek() { if (stack2.isEmpty()) { while (!stack1.isEmpty()) { stack2.push(stack1.pop()); } } return stack2.peek(); } // Return whether the queue is empty. public boolean empty() { return stack1.isEmpty() && stack2.isEmpty(); } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
LeetCode-Implement Queue using Stacks
标签:
原文地址:http://blog.csdn.net/my_jobs/article/details/47617673