力扣简232 用栈实现队列
作者:互联网
栈队列等的定义,一不用就忘,我无语!而且栈用push和pop,用别的会搞乱!
1 class MyQueue { 2 3 Deque<Integer> stack1; 4 Deque<Integer> stack2; 5 6 public MyQueue() { 7 stack1=new LinkedList<Integer>(); 8 stack2=new LinkedList<Integer>(); 9 } 10 11 public void push(int x) { 12 while(!stack1.isEmpty()) { 13 stack2.push(stack1.poll()); 14 } 15 stack1.push(x); 16 while(!stack2.isEmpty()) { 17 stack1.push(stack2.poll()); 18 } 19 } 20 21 public int pop() { 22 return(stack1.pop()); 23 } 24 25 public int peek() { 26 return(stack1.peek()); 27 } 28 29 public boolean empty() { 30 return stack1.isEmpty(); 31 } 32 }
//看了一眼题解2:通过出栈来分摊入栈的时间复杂度。 明天再写吧
//还有用front来标记队列头的元素 取队列头元素简单
标签:队列,pop,力扣,用栈,push,stack2,public,232,stack1 来源: https://www.cnblogs.com/ayuanjiejie/p/16339259.html