方法:逻辑运算符短路原则
解题思路
例如:对于表达式 \(A && B\),若 \(A\) 为 \(false\),那么就不会计算 \(B\);
代码
class Solution {
public:
int sumNums(int n) {
n && (n += sumNums(n - 1));
return n;
}
};
复杂度分析
时间复杂度:\(O(n)\);
空间复杂度:\(O(n)\)。
例如:对于表达式 \(A && B\),若 \(A\) 为 \(false\),那么就不会计算 \(B\);
class Solution {
public:
int sumNums(int n) {
n && (n += sumNums(n - 1));
return n;
}
};
时间复杂度:\(O(n)\);
空间复杂度:\(O(n)\)。