面试题17. 打印从1到最大的n位数
解题思路:
这道题相对比较简单,找规律的题
首先参数n为要打印的位数,那么每一位都是从哪里开始的呢,规律就是以10的整数次幂为界限,假设当前要遍历 i 位的数字,则开始的值为: 1 0 i − 1 . \ 10^{i-1}\,. 10i−1.,结束的值自然就是 1 0 i − 1 \ 10^{i} - 1 10i−1
源代码:
class Solution {
public:
vector<int> printNumbers(int n) {
int i = 1,j;
vector<int> res;
for(i=1;i<=n;i++){
for(j=pow(10,i-1);j<pow(10,i);j++){
res.push_back(j);
}
}
return res;
}
};