Lintcode161 Rotate Image solution 题解

【题目描述】

You are given an 2D matrix representing an image.

Rotate the image by 90 degrees (clockwise).

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

【题目链接】

www.lintcode.com/en/problem/rotate-image/

【题目解析】

在计算机图像处理里,旋转图片是很常见的,由于图片的本质是二维数组,所以也就变成了对数组的操作处理,翻转的本质就是某个位置上数移动到另一个位置上,比如用一个简单的例子来分析:

1  2  3       7  4  1

4  5  6  -->   8  5  2

7  8  9       9  6  3

对于90度的翻转有很多方法,一步或多步都可以解,我们先来看一种直接的方法,对于当前位置,计算旋转后的新位置,然后再计算下一个新位置,第四个位置又变成当前位置了,所以这个方法每次循环换四个数字,如下所示:

1  2  3                7  2  1               7  4  1

4  5  6      -->      4  5  6   -->  8  5  2

7  8  9                 9  8  3              9  6  3

【参考答案】

www.jiuzhang.com/solutions/rotate-image/

你可能感兴趣的:(Lintcode161 Rotate Image solution 题解)