Leetcode48(力扣48):旋转图像

Leetcode48(力扣48):旋转图像_第1张图片思路:二层循环。一层一层交换,一圈分成四个矩形,四个矩形进行交换,变量 i 控制层数,变量 j 控制每个矩阵的元素

技巧:找行不变还是列不变,不变维度用外层变量 i ,改变的维度用内层变量 j

class Solution
{
public:
    void rotate(vector<vector<int>>& matrix) 
    {
        int n = matrix.size();
        for(int i=0;i<n/2;i++)
        {
            for(int j=i;j<n-1-i;j++)
            {
                int temp=matrix[i][j];
                matrix[i][j]=matrix[n-1-j][i];
                matrix[n-1-j][i]=matrix[n-1-i][n-1-j];
                matrix[n-1-i][n-1-j]=matrix[j][n-1-i];
                matrix[j][n-1-i]=temp;
            }
        }   
    }
};

Leetcode48(力扣48):旋转图像_第2张图片

你可能感兴趣的:(Leetcode)