LeetCode Rotate Image

来源:互联网 发布:php一年工作经验 编辑:程序博客网 时间:2024/06/10 16:04

题目

You are given an n x n 2D matrix representing an image.

Rotate the image by 90 degrees (clockwise).

Follow up:
Could you do this in-place?

 

常数空间进行旋转,

每次旋转操作需要更改旋转轮换一圈的4个点的值,

而需要操作的区域为n/2上取整,n/2下取整,一个左上角的矩形范围内的点。

 

代码:

class Solution {public:    void rotate(vector<vector<int> > &matrix) {        int len=matrix.size();//矩阵长度int len1=(len+1)/2,len2=len-len1;//需要旋转的行列数int i,j,temp;for(i=0;i<len1;i++)//依次旋转对应一圈的4个元素{for(j=0;j<len2;j++){temp=matrix[i][j];matrix[i][j]=matrix[len-1-j][i];matrix[len-1-j][i]=matrix[len-1-i][len-1-j];matrix[len-1-i][len-1-j]=matrix[j][len-1-i];matrix[j][len-1-i]=temp;}}    }};


 

 

0 0