/
Do not return anything, modify matrix in-place instead.
*/
// 上下+对角线 用时:56ms
functionrotate(matrix: number[][]): void {
if (matrix) {
// 1、先上下交换
matrix.forEach((item, index) => {
constindex2=matrix.length- (index+1);
if (index!==index2&&index>index2) {
consttemp=matrix[index2];
matrix[index2] =matrix[index];
matrix[index] =temp;
}
});
// 2、再对角线交换
matrix.forEach((item, index) => {
item.forEach((item2, index2) => {
if (index!==index2&&index>index2) {
consttemp=matrix[index][index2];
matrix[index][index2] =matrix[index2][index];
matrix[index2][index] =temp;
}
});
});
}
}
// 粗暴地直接往右转
// 2022年2月8日复习:
/
Do not return anything, modify matrix in-place instead.
*/
// 上下对角颠倒法 用时:72ms
functionrotate2(matrix: number[][]): void {
// 将数组上下颠倒
for (letindex=0; index
if (index>=index2) break;
consttemp=matrix[index2];
matrix[index2] =matrix[index];
matrix[index] =temp;
}
// 将数组对角线对换
for (letx=0; x
constx2=matrix.length-1-x;
consttemp=matrix[x][y];
matrix[x][y] =matrix[y][x];
matrix[y][x] =temp;
}
}
}
