仅用递归函数和栈操作逆序一个栈

递归函数一:将栈stack的栈底元素返回并移除

public static int getAndRemoveLastElement(Stack 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 stack){
    if(stack.isEmpty()){
        return;
    }
    int i=getAndRemoveLastElement(stack);
    reverse(stack);
    stack.push(i);
}

你可能感兴趣的:(仅用递归函数和栈操作逆序一个栈)