[Leetcode]Rotate Image

来源:互联网 发布:seo专业优化公司 编辑:程序博客网 时间:2024/06/09 07:38

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?


class Solution {public:    /*alogirthm: x(i,j)-->x'(j,n-i)      xxx*x      xxx*x      xxxxx      *xxxx      xxxxx      xxxxx      xxxxx      xxxx*      xxxxx      x*xxx      (i,j)<---(n-1-j,i)      (n-1-j,i)<--(n-1-i,n-1-j)      (n-1-i,n-1-j)<---(j,n-1-i)      (j,n-1-i)<---(i,j)    */    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 val = 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] = val;            }        }    }};


0 0
原创粉丝点击