题目描述:

解题思路:
首先定义res存储1加到n的和。总体还是使用递归的思想,但是因为不能使用if条件判断递归跳出条件,所以这里使用&&操作跳出循环。当n大于1的时候,&&前面为true,所以可以执行sum(n - 1),如果&&前面为false,所以就跳出循环。
代码实现:
class Solution {
int res = 0;
public int sumNums(int n) {
boolean x = n > 1 && sumNums(n - 1) > 0;
res += n;
return res;
}
}
执行结果:

本文介绍了一种特殊的递归求和方法,该方法不使用传统的if条件语句来控制递归的终止,而是利用逻辑与(&&)运算符的短路特性巧妙地实现了递归终止。
615

被折叠的 条评论
为什么被折叠?



