算法-旋转图像

题目

给定一个 n × n 的二维矩阵表示一个图像。

将图像顺时针旋转 90 度。

说明:

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

解题

/**
 * @param {number[][]} matrix
 * @return {void} Do not return anything, modify matrix in-place instead.
 */
var rotate = function(matrix) {
  const temp = [];
    const mtxLen = matrix.length;
    for( let i = mtxLen - 1;i >= 0; i-- ){
        const orgRow = matrix[i];
        const covI = mtxLen - i - 1;
        for( let j = 0; j < orgRow.length; j++){
            temp[i] = temp[i] || [];
            let orgVal = temp[i][j] || temp[i][j] === 0? temp[i][j] :
            matrix[i][j];
            temp[j] = temp[j] || [];
            temp[j][covI] = matrix[j][covI];
            matrix[j][covI] = orgVal;
        }
    }
    return matrix;
};
分享

Author | 何小亮

全栈开发工程师(Node.js,Golang).