#yyds干货盘点# 面试必刷TOP101:顺时针旋转矩阵

1.简述:

描述

有一个NxN整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。

给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵。

数据范围:#yyds干货盘点# 面试必刷TOP101:顺时针旋转矩阵,矩阵中的值满足 #yyds干货盘点# 面试必刷TOP101:顺时针旋转矩阵

要求:空间复杂度 #yyds干货盘点# 面试必刷TOP101:顺时针旋转矩阵,时间复杂度 #yyds干货盘点# 面试必刷TOP101:顺时针旋转矩阵

进阶:空间复杂度 #yyds干货盘点# 面试必刷TOP101:顺时针旋转矩阵,时间复杂度 #yyds干货盘点# 面试必刷TOP101:顺时针旋转矩阵

示例1

输入:

[[1,2,3],[4,5,6],[7,8,9]],3

返回值:

[[7,4,1],[8,5,2],[9,6,3]]
import java.util.*;
public class Solution {
public int[][] rotateMatrix(int[][] mat, int n) {
int length = mat.length;
//矩阵转置
for(int i = 0; i < length; ++i){
for(int j = 0; j < i; ++j){
//交换上三角与下三角对应的元素
int temp = mat[i][j];
mat[i][j] = mat[j][i];
mat[j][i] = temp;
}
}
//每行翻转
for (int i = 0; i < length; i++) {
for (int j = 0; j < length/2; j++){
int temp = mat[i][j];
mat[i][j] = mat[i][length - j - 1];
mat[i][length - j - 1] = temp;
}
}
return mat;
}
}
发表评论

相关文章