lintcode-161-旋转图像
161-旋转图像
给定一个N×N的二维矩阵表示图像,90度顺时针旋转图像。
样例
给出一个矩形[[1,2],[3,4]],90度顺时针旋转后,返回[[3,1],[4,2]]
挑战
能否在原地完成?
标签
Cracking The Coding Interview 矩阵
思路
先上下交换矩阵行,然后沿主对角线交换矩阵元素
code
class Solution {
public:
/*
* @param matrix: a lists of integers
* @return:
*/
void rotate(vector<vector<int>>& matrix) {
// write your code here
int size = matrix.size(), i = 0, j = 0;
if (size <= 0) {
return;
}
for (i = 0; i < size / 2; i++) {
swap(matrix[i], matrix[size - 1 - i]);
}
for (i = 0; i < size; i++) {
for (j = 0; j < i; j++) {
swap(matrix[i][j], matrix[j][i]);
}
}
}
};