0
我有两个方法,spiralOrder和recurSpiral,其中spiralOrder是我的主要方法。这很奇怪,因为打印spiralArray,但是当我在下一行返回spiralArray时,它返回null。我觉得我错过了很简单的事情。谢谢函数返回null而不是数组对象,看起来很简单
class Solution(object):
def spiralOrder(self, matrix):
"""
:type matrix: List[List[int]]
:rtype: List[int]
"""
spiralArray = []
final = self.recurSpiral(matrix, spiralArray)
return final
def recurSpiral(self, matrix, spiralArray):
print matrix
if(len(matrix) == 0 or len(matrix[0]) == 0):
print spiralArray
return spiralArray
if(len(matrix) <= 2 or len(matrix[0]) <= 2):
self.firstThree(matrix, spiralArray)
return spiralArray
spiralArray = self.firstThree(matrix, spiralArray)
print spiralArray
notFirst = False
for l in reversed(matrix[1:]):
if(notFirst):
spiralArray.append(l[0])
else:
notFirst = True
print spiralArray
self.recurSpiral(matrix[1:-1][1:-1], spiralArray)
def firstThree(self, matrix, spiralArray):
for i in matrix[0]:
spiralArray.append(i)
notFirst = False
for j in matrix:
if(notFirst):
spiralArray.append(j[len(matrix[0])-1])
else:
notFirst = True
notFirst = False
for k in reversed(matrix[len(matrix)-1]):
if(notFirst):
spiralArray.append(k)
else:
notFirst = True
print spiralArray
return spiralArray
此外,你应该给你使用的参数。 – Pierre
@DanilSperansky它已经在那里,部分 –
Python不会返回null。它有'无'。这意味着没有返回声明 –