SparkSnail

Autumn recruit is coming!!!

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

题目

输入数字 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)
阅读更多

扫码向博主提问

去开通我的Chat快问

y12345678904

非学,无以致疑;非问,无以广识
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/y12345678904/article/details/80689063
个人分类: 剑指offer
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭