这道题有一个非常简单的解法,就是使用逻辑与。直接上代码:
class Solution {
public:
int Sum_Solution(int n) {
int ret =n;
ret && (ret += Sum_Solution(--n));
return ret;
}
};
就是这么简单的一种解法,通过逻辑与,这样即使n为0的时候,返回值也是0,因为&&前面为假的时候,后面语句将不会执行,但是这个代码的缺点就是时间复杂度太大,为O(n)。
后面我将有空的时候在下面补充其他解法。