48. 旋转图像 --力扣 --JAVA

简介: ​给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。​

 题目

给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

解题思路

    1. 顺时针旋转90度 == 上下翻转 + 对角线翻转;
    2. 两次两层循环进行数组翻转。

    代码展示

    class Solution {
        public void rotate(int[][] matrix) {
            int n = matrix.length;
            // 水平翻转
            for (int i = 0; i < n / 2; ++i) {
                for (int j = 0; j < n; ++j) {
                    int temp = matrix[i][j];
                    matrix[i][j] = matrix[n - i - 1][j];
                    matrix[n - i - 1][j] = temp;
                }
            }
            // 主对角线翻转
            for (int i = 0; i < n; ++i) {
                for (int j = 0; j < i; ++j) {
                    int temp = matrix[i][j];
                    matrix[i][j] = matrix[j][i];
                    matrix[j][i] = temp;
                }
            }
        }
    }

    image.gif


    目录
    相关文章
    |
    5月前
    【bug记录】旋转链表与力扣报错:member access within null pointer of type ‘struct ListNode‘
    【bug记录】旋转链表与力扣报错:member access within null pointer of type ‘struct ListNode‘
    |
    3月前
    |
    机器学习/深度学习
    Leetcode第48题(旋转图像)
    这篇文章介绍了LeetCode第48题“旋转图像”的解题方法,通过原地修改二维矩阵实现图像的顺时针旋转90度。
    43 0
    Leetcode第48题(旋转图像)
    |
    3月前
    |
    索引
    Leetcode第三十三题(搜索旋转排序数组)
    这篇文章介绍了解决LeetCode第33题“搜索旋转排序数组”的方法,该问题要求在旋转过的升序数组中找到给定目标值的索引,如果存在则返回索引,否则返回-1,文章提供了一个时间复杂度为O(logn)的二分搜索算法实现。
    30 0
    Leetcode第三十三题(搜索旋转排序数组)
    |
    3月前
    |
    存储 XML Java
    如何在 Java 中将常见文档转换为 PNG 图像数组
    如何在 Java 中将常见文档转换为 PNG 图像数组
    28 1
    |
    3月前
    |
    算法 Java
    LeetCode(一)Java
    LeetCode(一)Java
    |
    5月前
    |
    存储 算法
    LeetCode第48题旋转图像
    LeetCode第48题"旋转图像"的解题方法,通过两次翻转操作——先水平翻转再对角线翻转,实现了原地旋转矩阵的效果。
    LeetCode第48题旋转图像
    |
    5月前
    |
    算法 Java
    LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
    LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
    67 6
    |
    5月前
    |
    存储 算法 Java
    LeetCode经典算法题:打家劫舍java详解
    LeetCode经典算法题:打家劫舍java详解
    88 2
    |
    5月前
    |
    人工智能 算法 Java
    LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
    LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
    61 1
    |
    5月前
    |
    存储 算法 Java
    LeetCode经典算法题:预测赢家+香槟塔java解法
    LeetCode经典算法题:预测赢家+香槟塔java解法
    84 1

    热门文章

    最新文章