题目是写一个用递归找到从1到N位的最大数字 比如N=2 返回[1,2,....99].下面是我写的代码,逻辑结果我认为是正确的,
但是提交时返回: File "Main.py", line 7, in solution = Solution() NameError: name 'Solution' is not defined EXITCODE=1。这跟我的程序哪里有什么关系么??真的很不解啊!另外我这里用list表示数字,结果比如99表示成了[9,9],有没有人知道该用什么数据结构合理的表示呢?代码如下:
class Solution:
# @param n: An integer.
# return : A list of integer storing 1 to the largest number with n digits.
def numbersByRecursion(self, n):
# write your code here
if n <1:
return None
numList = []
for i in range(10):
print i
number =[]
print number
number.append(i)
print 'number[0]= ',number
self.setOnebyOne(numList, number,n,0)
def setOnebyOne(self,numList,number,n,index):
if index == n-1:
print 'index = n-1',n-1,number
numList.append(number)
return numList
print index,'setting',number
for i in range(10):
if i == 0:
number.append(i)
else:
number[index+1] = i
print number
self.setOnebyOne(numList, number,n,index+1)
'''这里如果是return则最里面的递归语句返回后接着执行的是return语句,函数就返回了,而不是返回上一层递归调用。
'''