js 旋转矩阵

给定一幅由N × N矩阵表示的图像,其中每个像素的大小为4字节,编写一种方法,将图像旋转90度。

不占用额外内存空间能否做到?

示例 1:

给定 matrix =

[

  [1,2,3],

  [4,5,6],

  [7,8,9]

],

原地旋转输入矩阵,使其变为:

[

  [7,4,1],

  [8,5,2],

  [9,6,3]

]

示例 2:

给定 matrix =

[

  [ 5, 1, 9,11],

  [ 2, 4, 8,10],

  [13, 3, 6, 7],

  [15,14,12,16]

],

原地旋转输入矩阵,使其变为:

[

  [15,13, 2, 5],

  [14, 3, 4, 1],

  [12, 6, 8, 9],

  [16, 7,10,11]

]

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/rotate-matrix-lcci

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

### 解题思路

旋转后第一行等于第一列 第n行等于第n列

### 代码

```javascript

/**

* @param {number[][]} matrix

* @return {void} Do not return anything, modify matrix in-place instead.

*/

var rotate = function(matrix) {

  let dd = []

  dd = matrix.map((val, matrixIndex) => {

    let arr = []

    for (let i = val.length - 1; i >= 0; i--){

        // 第一行等于第一列,以此类推

      arr.push(matrix[i][matrixIndex])

    }

    return arr

  })

  matrix.forEach((val, index) => {

    matrix[index] = dd[index]

  })

};

```

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容