解题思路
递归,但是常规来说,递归要用到终止条件,这里的终止条件是if(n==1)return 1;
但是题目要求不能使用if语句,所以为了解决这个问题,就需要用到&&的性质。
&&
1 &&两侧的对象的结果都要转换为bool类型
2 &&左侧的对象为假,那就不看右侧的对象了,直接返回false。
因此,代码如下:
class Solution {
public:
int Sum_Solution(int n) {
//因为&&两侧都要转换成bool型
//并且&&左侧的对象假如为不真就不会执行右侧对象
bool x=(n>0)&&(n+=Sum_Solution(n-1));
return n;
}
};