Offer_43 旋转图像
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。
你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/rotate-image
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

思路分享,记录两个指针,分别指向起始的圈层和结束的圈层。
在记录两个指针,指向前面的两个指针,
具体操作是 矩阵的左上 = 左下、左下 = 右下、右下= 右上、右上=左上。
具体实现代码就是通过指针的增加、删除来一层一层的遍历,就好像是洋葱一样,但是再具体操作代码的时候
需要将第二对指针进行模拟,最好是4 * 4 的二维数组。将数组的下标掌握好。
class Solution { public void rotate(int[][] matrix) { int i = 0, j = matrix.length - 1; while(i <= j) { int l = i, r = j; while (l != j) { int temp = matrix[i][l]; matrix[i][l] = matrix[r][i]; matrix[r][i] = matrix[j][r]; matrix[j][r] = matrix[l][j]; matrix[l][j] = temp; ++l; --r; } ++i; --j; } } }

浙公网安备 33010602011771号