用两个栈实现队列
用两个栈实现队列
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
代码实现
package 剑指offer;
import java.util.Stack;
/**
* @author WangXiaoeZhe
* @Date: Created in 2019/11/22 15:07
* @description:
*/
public class Main4 {
public static void main(String[] args) {
}
Stack<Integer>stack1=new Stack<>();
Stack<Integer>stack2=new Stack<>();
/**
* 将元素压倒栈1中
*/
public void push(int node){
stack1.push(node);
}
public int pop(){
/**
* 将栈1中的元素压倒栈2中
*/
while(!stack1.isEmpty()){
stack2.push(stack1.pop());
}
/**
* 第一次出队
*/
int first = stack2.pop();
/**
* 然后再将栈2剩下的元素倒入到栈1中
*/
while (!stack2.isEmpty()){
stack1.push(stack2.pop());
}
/**
* 完成以此出队
*/
return first;
}
}
人生若只如初见,浮沉繁华,慕然回首,不过过眼云烟。
我只在红尘中争渡,即便是一朵浪花,亦奋勇向前。