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。它有'無'。這意味着沒有返回聲明 –