思路
递归可以很好的解决问题但是递归一定要有出口,出口就要使用条件判断语句,与题目不符。可以使用&&运算符的特性:
对于表达式a&&b,如果a不为假,那么不会运行b部分的代码,可以用来跳出递归
class Solution {
public:
int sumNums(int n) {
n && (n += sumNums(n - 1));
return n;
}
};
思路
递归可以很好的解决问题但是递归一定要有出口,出口就要使用条件判断语句,与题目不符。可以使用&&运算符的特性:
对于表达式a&&b,如果a不为假,那么不会运行b部分的代码,可以用来跳出递归
class Solution {
public:
int sumNums(int n) {
n && (n += sumNums(n - 1));
return n;
}
};