题目链接:https://leetcode-cn.com/problems/qiu-12n-lcof/
官方题解这次是真的帅
考虑 a && b,如果 a 为 false 则不会再执行 b, 语句自动退出
考虑 a || b,如果 a 为 true 则不会再执行 b,语句执行下去
这道题来说,从 n 加到 1,只需要让 n = 0 时不再加即可。
代码如下:
class Solution {
public:
int sumNums(int n) {
int res = 0;
n && (n += sumNums(n-1));
return n;
}
};