C++学习记录-旧题新做-旋转矩阵
·
C++解法:
class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
int matrixSize = matrix.size();
if (matrixSize == 0) return;
// 先进行主对角线翻转
for(int i = 0; i < matrixSize; i++)
{
for(int j = 0; j < i; 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 - 1 - j];
matrix[i][matrixSize - 1 - j] = temp;
}
}
}
};
知识点:
在C++中,可以用matrix.size()来获取行数,matrix[0].size()来获取列数。
但需要注意,如果matrix.size() == 0,不要访问matrix[0],否则会越界。
更多推荐


所有评论(0)