题目
输入数字 n,按顺序打印出从 1 最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数即 999。
思路
递归,对于每一个长度,输出说有可能的值。
代码
class Solution:
def __init__(self):
self.next = []
def printNum(self, nums, n):
if not nums:
for i in range(1, 10):
print(str(i))
self.next.append(str(i))
else:
for num in nums:
for i in range(10):
print(str(num + str(i)))
self.next.append(str(num + str(i)))
def printAll(self, n):
for l in range(1, n + 1):
nums = self.next[:]
self.next.clear()
self.printNum(nums, n)