網(wǎng)站開(kāi)發(fā)的基本條件廣州網(wǎng)站優(yōu)化公司
題目描述
給定一個(gè) n × n 的二維矩陣 matrix 表示一個(gè)圖像。請(qǐng)你將圖像順時(shí)針旋轉(zhuǎn) 90 度。
你必須在 原地 旋轉(zhuǎn)圖像,這意味著你需要直接修改輸入的二維矩陣。請(qǐng)不要 使用另一個(gè)矩陣來(lái)旋轉(zhuǎn)圖像。
用例
輸入: matrix = [[1,2,3],[4,5,6],[7,8,9]]
輸出: [[7,4,1],[8,5,2],[9,6,3]]
輸入: 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]]
提示
- n == matrix.length == matrix[i].length
- 1 <= n <= 20
- -1000 <= matrix[i][j] <= 1000
代碼示例
/*** @param {number[][]} matrix* @return {void} Do not return anything, modify matrix in-place instead.*/
var rotate = function(matrix) {const len=matrix.length;const temp=[]for(let i=0;i<len;i++){temp.push([])}for(let i=0;i<len;i++){let row=matrix[i];//當(dāng)前行 換到最后一列 1 2 3// 換到最后一列for(let j=0;j<len;j++){temp[j][len-i-1]=row[j];}}for(let i=0;i<len;i++){matrix[i]=temp[i];}
};
執(zhí)行情況:
tip:
其實(shí)該題的本質(zhì)算是二維矩陣的轉(zhuǎn)換,可以用草圖嘗試畫(huà)出位置轉(zhuǎn)換關(guān)系即可求解