旋转矩阵(90度顺时针 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度)

it2024-05-07  46

class Solution { public:     void rotate(vector<vector<int>>& matrix) {                int length = matrix.size();         if(length<=1) return;

        //方式三 先水平翻转后对角线翻转         //水平翻转         /*for(int i=0;i<length/2;i++){             for(int j=0;j<length;j++){                 swap(matrix[i][j],matrix[length-i-1][j]);             }         }         //对角线翻转         for(int i=0;i<length;i++){             for(int j=0;j<i;j++){                 swap(matrix[i][j],matrix[j][i]);             }         }*/                  //方式一 拷贝值         auto tempVector = matrix;         for(int i=0;i<length;i++){             for(int j=0;j<length;j++){                 tempVector[j][length-i-1] = matrix[i][j];             }         }         matrix = tempVector;     } };

 

 

最新回复(0)