package main /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param matrix int整型二维数组 * @return int整型一维数组 */ func printMatrix(matrix [][]int) []int { // write code here var ret []int if len(matrix) == 0 { return ret } l, r := 0, len(matrix[0])-1 up, down := 0, len(matrix)-1 for l <= r && up <= down { for i := l; i <= r; i++ { ret = append(ret, matrix[up][i]) } up++ if up > down { break } for i := up; i <= down; i++ { ret = append(ret, matrix[i][r]) } r-- if l > r { break } for i := r; i >= l; i-- { ret = append(ret, matrix[down][i]) } down-- if up > down { break } for i := down; i >= up; i-- { ret = append(ret, matrix[i][l]) } l++ if l > r { break } } return ret }