一、题目描述
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999
示例 1:
输入: n = 1
输出: [1,2,3,4,5,6,7,8,9]
二、题目解析&思路分析
输入 1 , 即 输出 1 ~ 9 即 小于 10 的数字 10 ^1
输入 2 , 即 输出 1~ 99 即 小于 100 的数字 10 ^2
输入 3 , 即 输出 1~999 即 小于 1000 的数字 10^3
……
输入 n , 即 输出 小于 10^n 的数字即可
首先计算出 10^n 的大小,再直接使用一个 for 循环 遍历打印出 1 ~ 10^3 的数字即可
三、代码实现
class Solution {
public:
vector<int> printNumbers(int n) {
vector<int> vctResult;
int iTemp = 1;
for(int j = 0; j < n; j++ )
{
iTemp *= 10;
}
for( int i = 1; i < iTemp; i++)
{
vctResult.push_back(i);
}
return vctResult;
}
};
运行结果