48.Rotate Image

思路:
  • 先转置,然后对称。复杂度为\(O(n^2)\)。每次用swap交换,额外占用一个空间,所以空间复杂度为\(O(1)\)
class Solution {
public:
    void rotate(vector<vector<int>>& matrix) {
        for(int i = 0; i < matrix[0].size(); i++){
            for(int j = i+1; j < matrix[0].size(); j++){
                swap(matrix[i][j],matrix[j][i]);
            }
        }
        for(int i = 0; i < matrix[0].size(); i++){
            for(int j = 0; j < matrix[0].size()/2; j++){
                swap(matrix[i][j],matrix[i][matrix[0].size()-j-1]);
            }
        }
    }
};
posted @ 2017-06-08 09:19  UniMilky  阅读(133)  评论(0编辑  收藏  举报