Rotate Image 二维数组旋转90度

来源:互联网 发布:万网域名赎回费用 编辑:程序博客网 时间:2024/05/14 13:08

Rotate Image

 

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:    void rotate(vector<vector<int> > &matrix) {    //方法1:tempMatrix[j][n-1-i] = matrix[i][j]; 置换    //方法2:先对角线翻转,再中间线上下翻转    int n,i,j,temp;    n=matrix.size();    for(i=0;i<n;i++)    {        for(j=0;j<n-i;j++)        {            temp=matrix[i][j];            matrix[i][j]=matrix[n-1-j][n-1-i];            matrix[n-1-j][n-1-i]=temp;        }    }    for(i=0;i<n/2;i++)    {        for(j=0;j<n;j++)        {            temp=matrix[i][j];            matrix[i][j]=matrix[n-1-i][j];            matrix[n-1-i][j]=temp;        }    }    }};

0 0
原创粉丝点击