1、题目
?2、题解
读完题目后,感觉问题难点就在于不能够新建一个二维数组存放旋转后的矩阵,所以需要研究每个数字旋转后位置的变化情况,以做好保存和替换,最终的实现代码如下。
func rotate(matrix [][]int) {
n := len(matrix)-1
for bodge1:=0; bodge1<n+1/2; bodge1++{
bogde2 := n-bodge1
for j:=bodge1; j<bogde2; j++ {
// fmt.Println("-----",bodge1,"------",bogde2)
val1:=matrix[bodge1][j]
val2:=matrix[j][bogde2]
val3:=matrix[bogde2][n-j]
val4:=matrix[n-j][bodge1]
// fmt.Println(val1,",",val2,",",val3,",",val4)
matrix[bodge1][j]=val4
matrix[j][bogde2]=val1
matrix[bogde2][n-j]=val2
matrix[n-j][bodge1]=val3
}
}
}
提交结果如下
哈哈哈哈哈哈,有被自己秀到😎?
|