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

优质
小牛编辑
189浏览
2023-12-01

题目描述

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

解题思路

由于 n 可能会非常大,因此不能直接用 int 表示数字,而是用 char 数组进行存储。

使用回溯法得到所有的数。

// java
public void print1ToMaxOfNDigits(int n) {
    if (n <= 0)="" return;="" char[]="" number="new" char[n];="" print1tomaxofndigits(number,="" 0);="" }="" private="" void="" print1tomaxofndigits(char[]="" number,="" int="" digit)="" {="" if="" (digit="=" number.length)="" printnumber(number);="" for="" (int="" i="0;"