遞歸函數一:將棧stack的棧底元素返回并移除
public static int getAndRemoveLastElement(Stack<Integer> stack){
int result =stack.pop();
if(stack.isEmpty()){
return result;
}
else{
int last=getAndRemoveLastElement(stack);
stack.push(result);
return last;
}
}
遞歸函數二:逆序一個棧
public static void reverse(Stack<Integer> stack){
if(stack.isEmpty()){
return;
}
int i=getAndRemoveLastElement(stack);
reverse(stack);
stack.push(i);
}