标签:
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?
思路:每次旋转的时候都一次性旋转4个数。
class Solution { public: void rotate(vector<vector<int> > &matrix) { int n = matrix.size() - 1; for (int i = 0; i < n; i++) { for (int j = i; j < n-i; j++) { int x = i, y = j; int pre = matrix[x][y]; for (int k = 0; k < 4; k++) { int next = matrix[y][n-x]; matrix[y][n-x] = pre; int tmp = x; x = y; y = n - tmp; pre = next; } } } } };
标签:
原文地址:http://blog.csdn.net/u011345136/article/details/44133347