free-programming-books icon indicating copy to clipboard operation
free-programming-books copied to clipboard

Array-解题:旋转图像(NO.48)

Open meibin08 opened this issue 6 years ago • 1 comments

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

将图像顺时针旋转 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]
]

原题链接:https://leetcode-cn.com/problems/rotate-image/

meibin08 avatar Apr 11 '19 11:04 meibin08

js解题思路:


/**
 * @param {number[][]} matrix
 * @return {void} Do not return anything, modify matrix in-place instead.
 */
var rotate = function (matrix) {
    var cloneArr = matrix.toString().split(",");

    var len = matrix.length;
    var index = 0;
    for (var i = len - 1; i >= 0; i--) {
        var item = cloneArr.slice(index * len, (index + 1) * len);
        
        for (var u = 0; u < len; u++) {
            matrix[u][i] = item[u]

        };
        index++;
    };
    return matrix;
};

meibin08 avatar Apr 11 '19 11:04 meibin08