Java面试:java栈和队列相关,
分享于 点击 48668 次 点评:201
Java面试:java栈和队列相关,
题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
解答:
public static void main(String[] args) {
Stack<Integer> stack1 = new Stack<>();
Stack<Integer> stack2 = new Stack<>();
//测试数据
for(int i =1 ;i <= 5 ;i++){
push(stack1,i);
}
System.out.println("输出stack1中的测试数据:"+stack1.toString());
List<Integer> pop = pop(stack1, stack2);
System.out.println("输出stack2中的测试数据:"+pop);
}
public static void push(Stack<Integer> stack1,int code){
stack1.push(code);
}
public static List<Integer> pop(Stack<Integer> stack1, Stack<Integer> stack2){
if(stack1.isEmpty()){
return null;
}
if(stack2.isEmpty()){
while (!stack1.isEmpty()){
stack2.push(stack1.pop());
}
}
List<Integer> list = new ArrayList<>();
while (!stack2.isEmpty()){
list.add(stack2.pop());
}
return list;
}
相关文章
- 暂无相关文章
用户点评