剑指Offer 面试题17. 打印从1到最大的n位数

面试题17. 打印从1到最大的n位数

解题思路:

这道题相对比较简单,找规律的题
首先参数n为要打印的位数,那么每一位都是从哪里开始的呢,规律就是以10的整数次幂为界限,假设当前要遍历 i 位的数字,则开始的值为:   1 0 i − 1   . \ 10^{i-1}\,.  10i1.,结束的值自然就是   1 0 i − 1 \ 10^{i} - 1  10i1

源代码:
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;
    }
};

你可能感兴趣的:(leetcode随笔)