根据题目寻找规律,使用临时变量记录被替换的数据。

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
            }
        }
    }
};

 

posted on 2018-10-03 15:10  Sempron2800+  阅读(183)  评论(0编辑  收藏  举报