first reverse up to down, then swap the symmetry
* 1 2 3 7 8 9 7 4 1
* 4 5 6 => 4 5 6 => 8 5 2
* 7 8 9 1 2 3 9 6 3
C++:
class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
reverse(matrix.begin(),matrix.end());
for(int i=0;i<matrix.size();i++){
for(int j=i+1;j<matrix.size();j++){
swap(matrix[i][j],matrix[j][i]);
}
}
}
};
Python:
class Solution(object):
def rotate(self, matrix):
"""
:type matrix: List[List[int]]
:rtype: None Do not return anything, modify matrix in-place instead.
"""
matrix.reverse()
for i in range(0,len(matrix)):
for j in range(i+1,len(matrix)):
matrix[i][j],matrix[j][i]=matrix[j][i],matrix[i][j]
原文:https://www.cnblogs.com/xiaobaituyun/p/10598786.html