数据结构和算法LeetCode,初级算法-11旋转图像

Posted 数据结构和算法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构和算法LeetCode,初级算法-11旋转图像相关的知识,希望对你有一定的参考价值。

截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载
下载链接https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ
提取码:6666


视频讲解

LeetCode,初级算法-旋转图像

B站视频合集:https://www.bilibili.com/video/BV1aB4y1S722


代码部分

解法一

public void rotate(int[][] matrix) 
    int length = matrix.length;
    //先上下交换
    for (int i = 0; i < length / 2; i++) 
        int temp[] = matrix[i];
        matrix[i] = matrix[length - i - 1];
        matrix[length - i - 1] = temp;
    
    //在按照对角线交换
    for (int i = 0; i < length; ++i) 
        for (int j = i + 1; j < length; ++j) 
            int temp = matrix[i][j];
            matrix[i][j] = matrix[j][i];
            matrix[j][i] = temp;
        
    

解法二

public void rotate(int[][] matrix) 
    int length = matrix.length;
    for (int i = 0; i < length / 2; i++)
        for (int j = i; j < length - i - 1; j++) 
            // (i,j) , (j, n-i-1), (n-i-1, n-j-1)
            // 和(n-j-1, i)这四个位置的移动
            int temp = matrix[i][j];
            matrix[i][j] = matrix[length - j - 1][i];
            matrix[length - j - 1][i] = matrix[length - i - 1][length - j - 1];
            matrix[length - i - 1][length - j - 1] = matrix[j][length - i - 1];
            matrix[j][length - i - 1] = temp;
        

以上是关于数据结构和算法LeetCode,初级算法-11旋转图像的主要内容,如果未能解决你的问题,请参考以下文章

数据结构和算法LeetCode,初级算法-11旋转图像

数据结构和算法LeetCode,初级算法-旋转数组

初级算法11.旋转图像

数据结构和算法LeetCode,初级算法-13整数反转

数据结构和算法LeetCode,初级算法-7加一

数据结构和算法LeetCode,初级算法-7加一