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;
}
}