这节的目录递归查询方法能用一下具体的数据讲一下吗?感觉还是有点疑惑

这节的目录递归查询方法能用一下具体的数据讲一下吗?感觉还是有点疑惑

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小蓝 2023-02-09 17:15:42

    同学你好,递归调用是指在方法的内部调用其自身的过程,本质与一般的方法调用没有区别。一般的方法调用是在a方法中调用b方法,而递归是在a方法中调用a方法。

    递归调用的原理是将复杂的问题拆解为具有相同特性的简单问题,然后逐级调用,直到终止为止。例如下面的案例:

    假设现在需要一个计算n的阶乘的方法,如果不使用循环而是递归,则需要这样去实现:

        计算n的阶乘需要知道(n-1)的阶乘,用这个结果去乘以n即可;

        计算(n-1)的阶乘需要知道(n-2)的阶乘,用这个结果去乘以(n-1)即可;

        ...

        最终可以推导至

        计算3的阶乘需要知道2的阶乘,用这个结果去乘以3即可;

        计算2的阶乘需要知道1的阶乘,用这个结果去乘以2即可,而1的阶乘是已知的,就是1。

然后将上面的过程反向实现,就是递归,代码如下:

//计算n的阶乘
public long factorial(int n){
	//2.最终可知1的阶乘就是1,直接返回1即可
	if (n == 1) return 1;
	//1.需要知道n-1的阶乘的值,然后乘以n即可
	long result = n * factorial(n-1);
	return result;
}

祝学习愉快~

  • 提问者 weixin_慕少5379513 #1

    嗯嗯,那么结果能够发一下吗?就是给用户看的目录列表。我核对一下和我的测试结果一不一样

    2023-02-09 22:19:22
  • 同学你好,如果是验证结果,建议同学下载课程源码在本地运行即可。

    祝学习愉快~

    2023-02-10 09:34:45
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师