161. 旋转图像

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

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

交换加转置

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

  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
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容