标签:
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?
[Solution]
1 void rotate(vector<vector<int> > &matrix) 2 { 3 int i, j; 4 5 for (i = 0; i < matrix.size(); i++) // swap by y=x 6 for (j = i + 1; j < matrix.size(); j++) 7 swap(matrix[i][j], matrix[j][i]); 8 9 for (i = 0; i < matrix.size(); i++) // swap by y=n/2 10 for (j = 0; j < matrix.size() / 2; j++) 11 swap(matrix[i][j], matrix[i][matrix.size() - j - 1]); 12 }
标签:
原文地址:http://www.cnblogs.com/ym65536/p/4347889.html