描述
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
数据范围: 0 < n \le 2000<n≤200
进阶: 空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n)
示例1
输入:
5
复制返回值:
15
思路:使用递归计算f(n)=f(n-1)+n,递归出口f(0)=0,不能使用if判断,可以使用&&短路的特性
class Solution {
public:
int Sum_Solution(int n) {
n && (n+=Sum_Solution(n-1));
return n;
}
};