LeetCode48. Rotate Image

1、题目链接

https://leetcode.com/problems/rotate-image/

2、解题思路

这道题意思是说给你一个二维数组,然后让你将数组的值旋转90度,然后再输出,这道题的要求是让你在matrix数组中做修改,因为判题的时候会输出matrix数组,而不是其他东西;我的想法就是定义一个和matrix一样的数组,旋转90度之后,第一排变成了最后一列,第二排变成了倒数第二列......以此类推,这样的话我们利用新的数组重新构造matrix数组,也算是一种比较 low的方法了,下面附上一个高大上一点的方法:

48. 旋转图像

关键是这个:

3、代码

  • Java
public void rotate(int[][] matrix) {
    if (null == matrix) {
        return;
    }
    int length = matrix.length;
    int[][] matrix2 = new int[length][length];
    for (int i = 0; i < length; i++) {
        for (int j = 0; j < length; j++) {
            matrix2[i][j] = matrix[i][j];
        }
    }
    for (int i = 0; i < length; i++) {
        for (int j = 0; j < length; j++) {
            matrix[j][length - i - 1] = matrix2[i][j];
        }
    }
}

4、提交结果

1560326921759.jpg

你可能感兴趣的:(LeetCode48. Rotate Image)