今天这道题还是一道递归和循环题,换汤不换药,读题加写程序一共用了2-3分钟左右。最近这两天做的题有点儿水啊……
递归写法:
class Solution {
public:
int rectCover(int number) {
if (number<=0) return 0; //写-1通不过
if (number==1) return 1;
if (number==2) return 2;
return rectCover(number-1)+rectCover(number-2);
}
};
循环写法:
class Solution {
public:
int rectCover(int number) {
if (number<=0) return 0;
int a = 0, b = 1, c;
for(int i=0; i<number; i++){
c = a+b;
a = b;
b = c;
}
return c;
}
};