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]);
            }
        }
    }
};

posted @ 2017-07-31 16:29  LiBaoquan  阅读(226)  评论(0编辑  收藏  举报