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     }
原文地址:https://www.cnblogs.com/qingjiaowoxiaoxioashou/p/13490120.html