关闭

【Leet Code】48. Rotate Image---Medium

122人阅读 评论(0) 收藏 举报
分类:

You are given an n x n 2D matrix representing an image.

Rotate the image by 90 degrees (clockwise).

Follow up:

Could you do this in-place?

思路:

该题目最大的难点就是理清二维数组的转换。对二维数组每圈每圈的处理(或者说一层一层的转)。理清数组位置。

代码实现:

class Solution {
public:
    void rotate(vector<vector<int>>& matrix) {
        int n = matrix.size();
        if(n == 0) return;
        for(int h = 0; h < (n>>1); ++h) 
        {
            for(int i = h; i < n-1-h; ++i) 
            {
                int temp = matrix[h][i];
                matrix[h][i] = matrix[n-1-i][h];
                matrix[n-1-i][h] = matrix[n-1-h][n-1-i];
                matrix[n-1-h][n-1-i] = matrix[i][n-1-h];
                matrix[i][n-1-h] = temp;
            }
        }
    }
};


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7366次
    • 积分:375
    • 等级:
    • 排名:千里之外
    • 原创:31篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条