根据题目寻找规律,使用临时变量记录被替换的数据。
class Solution { public: void rotate(vector<vector<int>>& matrix) { int n = matrix.size() - 1; int temp = 0; for (int i = 0; i < n; i++) { for (int j = i; j < n - i; j++) { //上的i->下的j 上的(n-j)->下的i temp = matrix[i][j];//temp=[0][0] matrix[i][j] = matrix[n - j][i];//[0][0]=[2][0] matrix[n - j][i] = matrix[n - i][n - j];//[2][0]=[2][2] matrix[n - i][n - j] = matrix[n - (n - j)][n - i];//[2][2]=[0][2] matrix[n - (n - j)][n - i] = temp;//[0][2]=temp } } } };