C++学习记录-旧题新做-旋转矩阵
2026/6/9 22:29:49 网站建设 项目流程

原题记录:https://blog.csdn.net/chamao_/article/details/143365861?fromshare=blogdetail&sharetype=blogdetail&sharerId=143365861&sharerefer=PC&sharesource=chamao_&sharefrom=from_link

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],否则会越界。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询