题解 | #顺时针打印矩阵#
顺时针打印矩阵
https://www.nowcoder.com/practice/9b4c81a02cd34f76be2659fa0d54342a
package main
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* @param matrix int整型二维数组
* @return int整型一维数组
*/
func printMatrix(matrix [][]int) []int {
// write code here
// 每次把矩阵的第一行加入,
// 然后删除第一行,逆时针旋转90度
var res = make([]int, 0)
for len(matrix) > 0 {
for i := 0; i < len(matrix[0]); i++ {
res = append(res, matrix[0][i])
}
matrix = matrix[1:]
matrix = rotate(matrix)
}
return res
}
// 逆时针旋转90度
func rotate(matrix [][]int) [][]int {
var res [][]int
if len(matrix) == 0 {
return res
}
for col := len(matrix[0])-1; col > -1; col-- {
var arr []int
for row := 0; row < len(matrix);row++ {
arr = append(arr, matrix[row][col])
}
res = append(res, arr)
}
return res
}
