求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
示例 1:
输入: n = 3
输出: 6
示例 2:
输入: n = 9
输出: 45
限制:
1 <= n <= 10000
代码:
class Solution {
public int sumNums(int n) {
boolean ac = n>0&&(n+=sumNums(n-1))>0;
return n;
}
}
这道题的主要难点在于不能使用循环语句以及乘除等,我们可以利用&&短路的特性来终止递归