原题题目
代码实现(首刷大部分看解 先转置后镜像)
void rotate(int** matrix, int matrixSize, int* matrixColSize){
for(int i=0;i<matrixSize;++i)
for(int j=i;j<matrixSize;++j)
{
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
for(int i=0;i<matrixSize;++i)
{
for(int j=0;j<matrixSize/2;++j)
{
int temp = matrix[i][j];
matrix[i][j] = matrix[i][matrixSize-j-1];
matrix[i][matrixSize-j-1] = temp;
}
}
}
代码实现(二刷自解 C++ DAY 143)
class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
for(int i=0;i<matrix.size();++i)
for(int j=i;j<matrix[0].size();++j)
swap(matrix[i][j],matrix[j][i]);
for(int j=0;j<matrix[0].size()/2;++j)
for(int i=0;i<matrix.size();++i)
swap(matrix[i][j],matrix[i][matrix[0].size()-1-j]);
}
};
代码实现(三刷自解 DAY 233 C++)
class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
int row_size = matrix.size(),line_size = matrix[0].size();
for(int i = 0;i < row_size;++i)
for(int j = 0;j < (line_size / 2);++j)
swap(matrix[i][j],matrix[i][line_size - j - 1]);
for(int i = 0;i < row_size;++i)
for(int j = 0;j < line_size - i;++j)
swap(matrix[i][j],matrix[row_size - j - 1][line_size - i - 1]);
return;
}
};
代码实现(四刷自解 DAY 289 C++)
class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
for (int row = 0; row < matrix.size(); ++row) {
for (int line = 0; line < matrix[0].size() / 2; ++line) {
swap(matrix[row][line], matrix[row][matrix[0].size() - line - 1]);
}
}
for (int row = 0; row < matrix.size(); ++row) {
for (int line = 0; line < matrix.size() - row; ++line) {
swap(matrix[row][line], matrix[matrix[0].size() - line - 1][matrix.size() - row - 1]);
}
}
}
};
代码实现(五刷自解 DAY 8 Golang)
func rotate(matrix [][]int) {
for i := 0; i < len(matrix); i++ {
for j := 0; j < len(matrix[0]) / 2; j++ {
matrix[i][j], matrix[i][len(matrix[0]) - 1 - j] = matrix[i][len(matrix[0]) - 1 - j], matrix[i][j]
}
}
for i := 0; i < len(matrix); i++ {
for j := 0; j < len(matrix[0]) - i; j++ {
matrix[i][j], matrix[len(matrix) - 1 - j][len(matrix[0]) - 1 - i] =
matrix[len(matrix) - 1 - j][len(matrix[0]) - 1 - i], matrix[i][j]
}
}
}