Leetcode48. 旋转图像

110 阅读1分钟

Offer 驾到,掘友接招!我正在参与2022春招系列活动-刷题打卡任务,点击查看活动详情

一、题目描述:

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

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

来源:力扣(LeetCode) 链接:leetcode-cn.com/problems/ro…

二、思路分析:

利用js解构赋值交换。时间复杂度:O(N^2) ,空间复杂度:O(1)O(1)。为原地旋转。

三、AC 代码:

 * @param {number[][]} matrix
 * @return {void} Do not return anything, modify matrix in-place instead.
 */
var rotate = function(matrix) {
    let len=matrix.length;
    let count=len>>1;
    for(let i=0;i<count;i++){
        for(let j=i;j<len-1-i;j++){
            [matrix[i][j],matrix[j][len-1-i],matrix[len-1-i][len-1-j],matrix[len-1-j][i]]=[matrix[len-1-j][i],matrix[i][j],matrix[j][len-1-i],matrix[len-1-i][len-1-j]]
        }
    }
};

四、总结:

js交换写的很舒服