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

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

注意这里的n是表示位数,所以最大的数也就是枚举每一位都是9的情况。
最后从1枚举到最后一位即可。

class Solution {
    public int[] printNumbers(int n) {
        if(n <= 0) {
            return new int[0];
        }
        int total = 0;
        while(n-- != 0) {
            total = total * 10 + 9;
        }
        int[] res = new int[total];
        for(int i = 0;i < total; i++) {
            res[i] = i + 1;
        }
        return res;
    }
}
posted @ 2022-02-13 14:43  NullPointer_C  阅读(43)  评论(0)    收藏  举报