spiralOrder와 recurSpiral의 두 가지 메소드가 있는데, spiralOrder가 내 주요 메소드입니다. 그것은 나선형입니다 인쇄하기 때문에 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 이미 있습니다. 부분적으로는 –
입니다. 파이썬은 null을 반환하지 않습니다. 그것은 '없음'을가집니다. 그리고 그것은 return 문이 도달하지 않았 음을 의미합니다. –