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