[Oracle] LeetCode 48 Rotate Image 思维
You are given an n x n 2D matrix representing an image, rotate the image by 90 degrees (clockwise).
You have to rotate the image in-place, which means you have to modify the input 2D matrix directly. DO NOT allocate another 2D matrix and do the rotation.
Solution

点击查看代码
class Solution {
public:
    void rotate(vector<vector<int>>& matrix) {
        int row = matrix.size(), col = matrix[0].size();
        // transpose
        for(int i=0;i<row;i++){
            for(int j=i;j<col;j++){
                swap(matrix[i][j], matrix[j][i]);
            }
        }
        for(int i=0;i<row;i++){
            int left=0, right=col-1;
            while(left<right){
                swap(matrix[i][left], matrix[i][right]);
                left++;right--;
            }
        }
    }
};


 
                    
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号