leetcode 102:rotate-image

题目描述

给出一个用二维矩阵表示的图像
返回该图像顺时针旋转90度的结果
扩展:
你能使用原地算法解决这个问题么?
题目分析:
可以将矩阵先通过右上左下对角线翻转,再沿水平线上下翻转。如下图所示:

 

 代码如下:

1 void rotate(vector<vector<int> > &matrix) {
2         int m = matrix.size();
3         for(int i = 0;i<m;i++)
4             for(int j = 0;j<m-i;j++)
5                 swap(matrix[i][j], matrix[m-1-j][m-1-i]);
6         for(int i = 0;i < m/2;i++)
7             for(int j = 0;j < m;j++)
8                 swap(matrix[i][j],matrix[m - 1- i][j]);
9     }

 

posted @ 2020-08-12 13:40  请叫我小小兽  阅读(203)  评论(0编辑  收藏  举报