思路
一圈一圈的转 就很方便 有点像蚊香 那样的转法 见图,坐标对准即可。
20200407120809.jpg

代码
/**
* @param {number[][]} matrix
* @return {void} Do not return anything, modify matrix in-place instead.
*/
var rotate = function(matrix) {
let sideOrigin = matrix.length;
let circle = Math.floor(sideOrigin / 2);
for(let distance = 0; distance < circle; ++distance) {
let side = sideOrigin - distance * 2;
for(let i = 0; i < side - 1; ++i) {
let tmp = matrix[distance + i][distance]; // √
matrix[distance + i][distance] = matrix[sideOrigin - distance - 1][distance + i];
matrix[sideOrigin - distance - 1][distance + i] = matrix[sideOrigin - distance - i - 1][sideOrigin - distance - 1];
matrix[sideOrigin - distance - i - 1][sideOrigin - distance - 1] = matrix[distance][sideOrigin - distance - i - 1];
matrix[distance][sideOrigin - distance - i - 1] = tmp;
}
}
};