给你一个栈,逆序这个栈,使用递归的方法,不使用额外空间变量
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.PriorityQueue;
import java.util.Stack;
public class reverseStack{
public static void reverse(Stack<Integer> stack){
if(stack.isEmpty()){
return;
}
int i = f(stack);
reverse(stack);
stack.push(i);
}
public static int f(Stack<Integer> stack){//该函数的功能,把该栈最下面的元素去掉并返回
int result = stack.pop();
if(stack.isEmpty()){
return result;
}else{
int last = f(stack);
stack.push(result);
return last;
}
}
}