剑指offer 64:求1+2+...+n

在这里插入图片描述
思路
递归可以很好的解决问题但是递归一定要有出口,出口就要使用条件判断语句,与题目不符。可以使用&&运算符的特性:
对于表达式a&&b,如果a不为假,那么不会运行b部分的代码,可以用来跳出递归

class Solution {
    
    
public:
    int sumNums(int n) {
    
    
        n && (n += sumNums(n - 1));
        return n;
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_44537258/article/details/114036773