- 利用额外空间做法
class Solution {
public:
void rotate(vector<vector<int>>& matrix)
{
//1. 使用额外空间
int sizee=matrix.size();
int array[100][100];
for(int i=0;i<matrix.size();i++)
{
for(int j=0;j<matrix.size();j++)
{
array[j][matrix.size()-i]=matrix[i][j];
}
}
for (int i = 0; i < matrix.size(); i++)
{
for(int j=0;j<matrix.size();j++)
{
matrix[i][j]=array[i][j];
}
}
}
};
2.不利用额外空间
class Solution {
public:
void rotate(vector<vector<int>>& matrix)
{
//2. not use additional space
for(int i=0;i<matrix.size()/2;i++)
{
for(int j=0;j<matrix.size();j++)
{
int temp=matrix[i][j];
matrix[i][j]=matrix[matrix.size()-i-1][j];
matrix[matrix.size()-1-i][j]=temp;
}
}
for(int i=0;i<matrix.size();i++)
{
for(int j=0;j<i;j++)
{
int temp=matrix[i][j];
matrix[i][j]=matrix[j][i];
matrix[j][i]=temp;
}
}
}
};