输入数字n,按顺序打印出从1到最大的n位十进制数。
class Solution:
def print_one_to_max_of_digits(self, n):
if n <= 0:
return False
number = ['0'] * n
while not self.increment(number):
self.print_number(number)
def increment(self, number):
overflow_flag, carry = False, 0
n = len(number)
for ni in range(n-1, -1, -1):
n_value = ord(number[ni]) - ord('0') + carry
if ni == n-1:
n_value += 1
if n_value >= 10:
if ni == 0:
overflow_flag = True
else:
n_value -= 10
carry = 1
number[ni] = chr(ord('0') + n_value)
else:
number[ni] = chr(ord('0') + n_value)
break
return overflow_flag
def print_number(self, number):
ni = 0</