【Leetcode】Rotate Image

来源:互联网 发布:php单选框提交 编辑:程序博客网 时间:2024/04/19 08:50

【题目】

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

Rotate the image by 90 degrees (clockwise).


【思路】

The idea was firstly transpose the matrix and then flip it symmetrically. For instance,

1  2  3             4  5  67  8  9

after transpose, it will be swap(matrix[i][j], matrix[j][i])

1  4  72  5  83  6  9

Then flip the matrix horizontally. (swap(matrix[i][j], matrix[i][matrix.length-1-j])

7  4  18  5  29  6  3


【代码】

public class Solution {    public void rotate(int[][] matrix) {        for(int i = 0; i<matrix.length; i++){            for(int j = i; j<matrix[0].length; j++){                int temp = 0;                temp = matrix[i][j];                matrix[i][j] = matrix[j][i];                matrix[j][i] = temp;            }        }        for(int i =0 ; i<matrix.length; i++){            for(int j = 0; j<matrix.length/2; j++){                int temp = 0;                temp = matrix[i][j];                matrix[i][j] = matrix[i][matrix.length-1-j];                matrix[i][matrix.length-1-j] = temp;            }        }    }}


0 0