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?
<Solution>Could you do this in-place?
這題要將 n x n 的 2D matrix 順時鐘旋轉 90度
有兩種轉法
解法一
- 先以右上到左下的對角線為軸,交換元素
- 然後再以水平線為軸,上下交換元素
4 5 6 -> 8 5 2 -> 8 5 2
7 8 9 7 4 1 9 6 3
code 如下
解法二
- 以左上到右下的對秤線為軸,交換元素
- reverse 每個 row
4 5 6 -> 2 5 8 -> 8 5 2
7 8 9 3 6 9 9 6 3
code 如下
沒有留言:
張貼留言