矩阵旋转

旋转方法

例子

对于顺时针旋转90度

先上线对称选择,在主对角线交换

class Solution {
public:
    void rotate(vector<vector<int>>& matrix) {
        int n = matrix.size();

        //上下颠倒
            for(int i = 0;i<n/2;i++){
                for(int j = 0;j<n;j++){
                    swap(matrix[i][j],matrix[n-1-i][j]);
                }
            }

        //主对交线交换
        for(int i = 0;i<n;i++){
           for(int j = 0;j<i;j++){
               swap(matrix[i][j],matrix[j][i]);
           }
        }
        
    }
};
posted @ 2023-02-18 22:28  壹剑霜寒十四州  阅读(9)  评论(0编辑  收藏  举报