LeetCode第48题:旋转图像(中等)
题目: 解法一:找到了旋转之后的坐标规律,即(i,j)->(n-1-j,i)。
public void rotate ( int [ ] [ ] matrix) {
int n = matrix. length;
for ( int i = 0 ; i < ( n + 1 ) / 2 ; i ++ ) {
for ( int j = 0 ; j < n / 2 ; j++ ) {
int temp = matrix[ i] [ j] ;
matrix[ i] [ j] = matrix[ n- 1 - j] [ i] ;
matrix[ n- 1 - j] [ i] = matrix[ n- i- 1 ] [ n- j- 1 ] ;
matrix[ n- i- 1 ] [ n- j- 1 ] = matrix[ j] [ n- i- 1 ] ;
matrix[ j] [ n- i- 1 ] = temp;
}
}
}
}
class Solution {
public void rotate ( int [ ] [ ] matrix) {
int n = matrix. length;
for ( int i = 0 ; i < n; i++ ) {
for ( int j = i; j < n; j++ ) {
int tmp = matrix[ j] [ i] ;
matrix[ j] [ i] = matrix[ i] [ j] ;
matrix[ i] [ j] = tmp;
}
}
for ( int i = 0 ; i < n; i++ ) {
for ( int j = 0 ; j < n / 2 ; j++ ) {
int tmp = matrix[ i] [ j] ;
matrix[ i] [ j] = matrix[ i] [ n - j - 1 ] ;
matrix[ i] [ n - j - 1 ] = tmp;
}
}
}
}
作者:LeetCode
链接:https: / / leetcode- cn. com/ problems/ rotate- image/ solution/ xuan- zhuan- tu- xiang- by- leetcode/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。