161. 旋转图像

161. 旋转图像
 

给定一个N×N的二维矩阵表示图像,90度顺时针旋转图像。


样例

样例1:

输入:[[1,2],[3,4]]
输出:[[3,1],[4,2]]

样例 2:

输入:[[1,2,3],[4,5,6],[7,8,9]]
输出:[[7,4,1],[8,5,2],[9,6,3]]

挑战

能否在原地完成?

void rotate(vector<vector<int>> &matrix) {
        // write your code here
        if(matrix.size() == 0 || matrix.size() == 1)
        {
            return;
        }
        int size = matrix[0].size();
        vector<vector<int>> ret(size,vector<int>(size,0));
        
        for(int row=0;row<size;row++)
        {
            for(int col=0;col<size;col++)
            {
                ret[col][size-1-row] = matrix[row][col];
            }
        }
        matrix = ret;
    }

猜你喜欢

转载自blog.csdn.net/yinhua405/article/details/111190432