僅用遞歸函數和棧操作逆序一個棧

遞歸函數一:將棧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);
}
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容