【題目描述】
You are given an?n?x?n?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
【參考答案】