161. 旋转图像交换加转置

2018-09-04 11:23:53 浏览数 (1)

给定一个N×N的二维矩阵表示图像,90度顺时针旋转图像。

样例 给出一个矩形[[1,2],[3,4]],90度顺时针旋转后,返回[[3,1],[4,2]]

交换加转置

方阵旋转九十度可以通过换行加转置来完成,刚好vector是可以用swap函数的,对于单个的元素肯定也是可以的。这样想来就没什么难得了,程序简洁:

代码语言:javascript复制
  void rotate(vector<vector<int>> &matrix) {
        int sz=matrix.size();
        if(sz<=1)
        return ;
        for(int i=0;i<sz/2;i  )
        {
            swap(matrix[i],matrix[sz-1-i]);
        }
        for(int i=0;i<sz;i  )
        {
            for(int j=i;j<sz;j  )
            {
                swap(matrix[i][j],matrix[j][i]);
            }
        }
        // write your code here
    }

0 人点赞