题目要求: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?

代码如下:
1class Solution { 2public: 3 void rotate(vector<vector<int> > &matrix) { 4 5 const int n = matrix.size(); 6 7 for(int i = 0; i < n; i++) //沿着副对角线反转 8 for(int j = 0; j < n - i; j++) 9 swap(matrix[i][j], matrix[n - 1 - j][n - 1 - i]); 10 11 for(int i = 0; i < n / 2; i++)//沿着水平中线反转 12 for(int j = 0; j < n; j++) 13 swap(matrix[i][j], matrix[n - 1 - i][j]); 14 15 } 16};
本文同步分享在 博客“Yano_nankai”(CNBlog)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。