剑指offer 面试题64. 求1+2+…+n [中等]——&&

我的解题:

1.我发现我错了,,,不能用if

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

2.递归

A && B

  • A 为 true,计算并返回表达式 B 的 bool 值
  • A 为 false,返回 false
class Solution {
public:
    int sumNums(int n) {
        n && (n+=sumNums(n-1));
        return n;
    }
};

发布了65 篇原创文章 · 获赞 1 · 访问量 478

猜你喜欢

转载自blog.csdn.net/qq_41041762/article/details/105565397