标签:leetcode
You are given an n x n 2D matrix representing an image.public void rotate1(int[][] matrix) {//找出对应关系(i,j) -> (j,n-1-i) int n = matrix.length; int [][]tmp = new int[n][n]; for(int i = 0; i < n; ++ i){ for(int j =0; j < n; ++ j){ tmp[j][n-i-1] = matrix[i][j]; } } for(int i = 0; i < n; ++ i){ for(int j =0; j < n; ++ j){ matrix[i][j] = tmp[i][j]; } } }
public void rotate(int[][] matrix) {//inplace (i,j)->(j,i) reverse(每一行) int n = matrix.length; int temp; for(int i = 0; i < n; ++ i){ for(int j =i; j < n; ++ j){ temp = matrix[i][j]; matrix[i][j] = matrix[j][i]; matrix[j][i] = temp; } } int l,r; for(int i = 0;i < n; ++i){ l = 0; r = n-1; while (l < r){ temp = matrix[i][l]; matrix[i][l] = matrix[i][r]; matrix[i][r] = temp; l ++; r --; } } }
标签:leetcode
原文地址:http://blog.csdn.net/youmengjiuzhuiba/article/details/44901461