給定一幅由N × N矩陣表示的圖像,其中每個像素的大小為4字節(jié),編寫一種方法十减,將圖像旋轉(zhuǎn)90度。
不占用額外內(nèi)存空間能否做到愤估?
示例 1:
給定 matrix =
[
? [1,2,3],
? [4,5,6],
? [7,8,9]
],
原地旋轉(zhuǎn)輸入矩陣帮辟,使其變?yōu)?
[
? [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]
],
原地旋轉(zhuǎn)輸入矩陣,使其變?yōu)?
[
? [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
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有玩焰。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán)由驹,非商業(yè)轉(zhuǎn)載請注明出處。
### 解題思路
旋轉(zhuǎn)后第一行等于第一列 第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]
? })
};
```