标签:
Implement the following operations of a queue using stacks.
push to top
,
peek/pop from top
, size
, and is empty
operations are valid.
[思路]
用两个stacks实现一个queue.
[CODE]
class MyQueue { Stack<Integer> s1 = new Stack<>(); Stack<Integer> s2 = new Stack<>(); // Push element x to the back of queue. public void push(int x) { s1.push(x); } // Removes the element from in front of queue. public void pop() { if(!s2.isEmpty()) s2.pop(); else { while(!s1.isEmpty()) s2.push(s1.pop()); s2.pop(); } } // Get the front element. public int peek() { if(!s2.isEmpty()) return s2.peek(); else { while(!s1.isEmpty()) s2.push(s1.pop()); return s2.peek(); } } // Return whether the queue is empty. public boolean empty() { return s1.empty() && s2.empty(); } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
leetcode 232:Implement Queue using Stacks
标签:
原文地址:http://blog.csdn.net/xudli/article/details/46784153