您的位置:首页 > 编程语言 > Python开发

leetcode之Spiral Matrix

2016-01-02 19:32 459 查看
这题解题思路还是来自递归。需要处理好一些特殊情况以适应递归。代码如下:
class Solution(object):
def __init__(self):
self.list1 = []
def spiralOrder(self, matrix):
"""
:type matrix: List[List[int]]
:rtype: List[int]
"""
if matrix == []:
return self.list1 + []
if len(matrix[0]) == 1:
for i in matrix:
self.list1.append(i[0])
return self.list1
if len(matrix[0]) == 0:
return self.list1

if len(matrix) == 1:
return self.list1 + matrix[0]
if len(matrix) == 2:
return self.list1 + matrix[0] + matrix[-1][::-1]
else:
self.list1 = self.list1 + matrix[0]
for i in range(1, len(matrix) - 1):
print i, matrix[i][-1]
self.list1.append(matrix[i][-1])
self.list1 = self.list1 + matrix[-1][::-1]
for i in range(1, len(matrix) - 1)[::-1]:
self.list1.append(matrix[i][0])
del matrix[0]
del matrix[-1]
for i in matrix:
del i[0]
del i[-1]
return self.spiralOrder(matrix)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息