using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param matrix int整型二维数组 * @return int整型一维数组 */ public List<int> spiralOrder (List<List<int>> matrix) { List<int> res = new List<int>(); int n = matrix.Count; if(n == 0) return res; int m = matrix[0].Count; int left = 0, right = m - 1; int top = 0, bottom = n - 1; while(res.Count < m*n){ for(int i = left; i <= right; i++){ res.Add(matrix[top][i]); } top++; for(int j = top; j <= bottom; j++){ res.Add(matrix[j][right]); } right--; if(res.Count == m*n) break; for(int i = right; i >= left; i--){ res.Add(matrix[bottom][i]); } bottom--; for(int j = bottom; j >= top; j--){ res.Add(matrix[j][left]); } left++; } return res; } }