48. 旋转图像

48. 旋转图像


题目链接:48. 旋转图像

代码如下:

/*
leetcode官方思路:
	matrix[row][col]
	matrix[col][n−row−1]
	matrix[n−row−1][n−col−1]
	matrix[n−col−1][row]
​这四项处于一个循环中,并且每一项旋转后的位置就是下一项所在的位置!因此我们可以使用一个临时变量 temp\textit{temp}temp 完成这四项的原地交换 
*/
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+1)/2;j++)
            {
                int temp=matrix[i][j];
                matrix[i][j]=matrix[n-j-1][i];
                matrix[n-j-1][i]=matrix[n-i-1][n-j-1];
                matrix[n-i-1][n-j-1]=matrix[j][n-i-1];
                matrix[j][n-i-1]=temp;
            }
        }
    }
};

你可能感兴趣的:(leetcode,c++)