题目来源:
https://leetcode.com/problems/spiral-matrix/
题意分析:
输入一个m×n的数字矩阵。将这个矩阵按照螺旋方向输成一列。比如:
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ]
输出[1,2,3,6,9,8,7,4,5]
题目思路:
这道题目只需要模拟这个过程。分四步,第一步行左到右,第二步从上到下,第三步右到左,最后一步下到上。
代码(python):
class Solution(object): def spiralOrder(self, matrix): """ :type matrix: List[List[int]] :rtype: List[int] """ size = len(matrix) if size == 0: return [] m = len(matrix[0]) if m == 0: return [] r,l = 0,0; size -= 1;m -= 1 ans = [] while r <= m and l <= size: for i in range(r,m + 1): ans.append(matrix[l][i]) l += 1 if l > size: break for i in range(l,size + 1): ans.append(matrix[i][m]) m -= 1;i = m if m < r: break while i >= r: ans.append(matrix[size][i]);i -= 1 size -= 1;i = size if size < l: break while i >= l: ans.append(matrix[i][r]); i -= 1 r += 1 return ans
转载请注明出处:http://www.cnblogs.com/chruny/p/4968746.html