题解 | #逆时针吃草#
逆时针吃草
https://www.nowcoder.com/practice/9eaf6e983ec042f7b952a65b46486f8e
using System; using System.Collections.Generic; enum direction { up, down, left, right } class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param matrix int整型二维数组 * @return int整型一维数组 */ public List<int> eatGrass (List<List<int>> matrix) { // write code here List<int> res = new List<int>(); int i = matrix.Count - 1; int j = 0; direction way = direction.up; int max = matrix.Count * matrix[0].Count; while (res.Count < max) { res.Add(matrix[i][j]); if (i == 0 && way == direction.up) { way = direction.right; } else if (i == matrix.Count-1 && way == direction.down) { way = direction.left; } else if (j == 0 && way == direction.left) { way = direction.up; } else if (j == matrix[i].Count-1 && way == direction.right) { way = direction.down; } switch (way) { case direction.up: i--; break; case direction.down: i++; break; case direction.left: j--; break; case direction.right: j++; break; default: break; } } return res; } }