递归的用法?

在运用递归的时候

我应该怎么想哦 ?
感觉怎么都用不好它
谢谢了哦 !

理解递归,首先就要理解堆栈.因为递归的实现是基于堆栈的.

递归这东西要的是理解.要的是那恍然大悟的一瞬间.LZ不要再急于求成.应该慢慢来.多做一些这方面的习题,慢慢的就理解了.

推荐一本书:《数据结构与算法-Java语言版》,里面对于递归的阐述很清晰.楼主有时间可以看一下.

理解递归最好的办法是理解数学归纳法,找本数学教材,把上面的数学归纳法题目做几个递归函数,你肯定行。

另外注意递归函数一定要有个退出机制,否则死循环,溢出。

找简单的例子看看。
[code="java"]
/**
求n*(n-1)*(n-2)......
*/
public static int getN(int n){

   if(n > 0){
       return n * getN(n-1);
   }
   else{
       return 1;
   }
}

[/code]