您的位置:首页 > Web前端

LintCode-剑指Offer-(371)用递归打印数字

2015-11-21 22:48 344 查看
class Solution {
public:
/**
* @param n: An integer.
* return : An array storing 1 to the largest number with n digits.
*/
vector<int> numbersByRecursion(int n) {
//我感觉这道题有点显得蛋疼,有可能是我没有理解。
vector<int>num;
getNumWithRecursion(num,1,n);
return num;
}

long long getNum(int n){
int tmp=1;
for(int i=0;i<n;i++){
tmp=tmp*10;
}
return tmp;
}

void getNumWithRecursion(vector<int>& num,int n,int maxn){
if(n>maxn)return;
static int i=1;
int tmp=getNum(n);
while(i/getNum(n)<1){
num.push_back(i);
i++;
}
getNumWithRecursion(num,n+1,maxn);
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: