- 题目:剑指Offer64.求1+2+…+n
- 思路:
1.&&或||短路效应实现递归:
class Solution {
public:
int sumNums(int n) {
!n || (n += sumNums(n - 1));// ||优先级高于+=
return n;
}
};
2.sizeof实现n * (n + 1) / 2:天秀!
class Solution {
public:
int sumNums(int n) {
bool a[n][n+1];//这里虽然写的bool数组,但每个元素还是占了一个字节而不是1bit
//等价于char a[n][n + 1];
return sizeof(a)>>1;
}
};