如何对给定的Java nLines函数代码使用递归技术进行改写
Java nLines 函数递归改写实现
原函数的功能是输入整数n,按顺序打印0到n-1的所有整数。递归改写的核心是设置终止边界,再将大问题拆分为更小的同类型子问题处理:
改写后代码
static void nLines(int n) { // 递归终止条件:n<=0时没有需要打印的内容,直接返回 if (n <= 0) { return; } // 先处理前n-1个数字的打印 nLines(n - 1); // 打印当前层级对应的数字 System.out.println(n - 1); }
执行逻辑说明
以调用nLines(3)为例,执行流程和原for循环完全一致:
- 先递归逐层深入调用nLines(2)、nLines(1)、nLines(0)
- nLines(0)触发终止条件直接返回
- 逐层回溯,依次打印0、1、2
注意:如果调换递归调用和打印语句的顺序,会输出从n-1到0的倒序结果,和原函数逻辑不符,调整时需注意需求匹配。
内容的提问来源于stack exchange,提问作者baileyfunny
相关产品推荐
相关产品推荐

