剑指Offer:打印从1到最大的n位数

剑指Offer:打印从1到最大的n位数

题目描述:
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。

解题思路:

  1. 通过pow(10, n)函数算出10的n次方;
  2. 从1到10的n次方不断push进vector数组中即可。

注意for循环上面的注释语句,int i = 1, max = pow(10,n);这个是声明定义,也是合法的,但是不建议这样写。

class Solution {
public:
    vector<int> printNumbers(int n) 
    {   
        std::vector<int> arr;
        //for (int i = 1, max = pow(10,n); i < max; i++)
        for (int i = 1; i < pow(10, n); i++)
        {
            arr.push_back(i);
        }
        return arr;
    }
};
原文地址:https://www.cnblogs.com/Tavi/p/12514031.html