
解法:递归 + 逻辑运算短路特性
不限制的话,可以用迭代或递归解法。
int sumNums(int n){
// 递归边界
if(n == 1) return 1;
return n + sumNums(n-1);
}
但题目要求不能用循环和条件语句。
使用逻辑运算短路特性代替条件判断:
int sumNums(int n){
n && (n += sumNums(n-1));
return n;
}

解法:递归 + 逻辑运算短路特性
不限制的话,可以用迭代或递归解法。
int sumNums(int n){
// 递归边界
if(n == 1) return 1;
return n + sumNums(n-1);
}
但题目要求不能用循环和条件语句。
使用逻辑运算短路特性代替条件判断:
int sumNums(int n){
n && (n += sumNums(n-1));
return n;
}
350
89
1008
206

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