Spiral Matrix
矩阵,从外向内,顺时针取数。
主要是搞清行列关系
class Solution(object):
def spiralOrder(self, matrix):
"""
:type matrix: List[List[int]]
:rtype: List[int]
"""
if len(matrix) == 0:
return []
m1 = len(matrix)
m2 = len(matrix[0])
m = min(m1, m2)
n = m / 2
res = []
for i in range(n):
res += matrix[i][i:m2-i]
for j in range(i+1, m1-i-1):
res += [matrix[j][m2-1-i]]
res += matrix[m1-1-i][i:m2-i][::-1]
for j in reversed(range(i+1, m1-i-1)):
res += [matrix[j][i]]
if m % 2 == 1:
if m1 >= m2:
for j in range(n, m1-n):
res += [matrix[j][n]]
else :
res += matrix[n][n:m2-n]
return res