File tree 4 files changed +87
-18
lines changed
solution/0000-0099/0048.Rotate Image
4 files changed +87
-18
lines changed Original file line number Diff line number Diff line change 60
60
<!-- 这里可写当前语言的特殊实现逻辑 -->
61
61
62
62
``` python
63
-
63
+ class Solution :
64
+ def rotate (self , matrix : List[List[int ]]) -> None :
65
+ """
66
+ Do not return anything, modify matrix in-place instead.
67
+ """
68
+ s, n = 0 , len (matrix)
69
+ while s < (n >> 1 ):
70
+ e = n - s - 1
71
+ for i in range (s, e):
72
+ t = matrix[i][e]
73
+ matrix[i][e] = matrix[s][i]
74
+ matrix[s][i] = matrix[n - i - 1 ][s]
75
+ matrix[n - i - 1 ][s] = matrix[e][n - i - 1 ]
76
+ matrix[e][n - i - 1 ] = t
77
+ s += 1
64
78
```
65
79
66
80
### ** Java**
67
81
68
82
<!-- 这里可写当前语言的特殊实现逻辑 -->
69
83
70
84
``` java
71
-
85
+ class Solution {
86
+ public void rotate (int [][] matrix ) {
87
+ int s = 0 , n = matrix. length;
88
+ while (s < (n >> 1 )) {
89
+ int e = n - s - 1 ;
90
+ for (int i = s; i < e; ++ i) {
91
+ int t = matrix[i][e];
92
+ matrix[i][e] = matrix[s][i];
93
+ matrix[s][i] = matrix[n - i - 1 ][s];
94
+ matrix[n - i - 1 ][s] = matrix[e][n - i - 1 ];
95
+ matrix[e][n - i - 1 ] = t;
96
+ }
97
+ ++ s;
98
+ }
99
+ }
100
+ }
72
101
```
73
102
74
103
### ** ...**
Original file line number Diff line number Diff line change @@ -87,13 +87,42 @@ rotate the input matrix <strong>in-place</strong> such that it becomes:
87
87
### ** Python3**
88
88
89
89
``` python
90
-
90
+ class Solution :
91
+ def rotate (self , matrix : List[List[int ]]) -> None :
92
+ """
93
+ Do not return anything, modify matrix in-place instead.
94
+ """
95
+ s, n = 0 , len (matrix)
96
+ while s < (n >> 1 ):
97
+ e = n - s - 1
98
+ for i in range (s, e):
99
+ t = matrix[i][e]
100
+ matrix[i][e] = matrix[s][i]
101
+ matrix[s][i] = matrix[n - i - 1 ][s]
102
+ matrix[n - i - 1 ][s] = matrix[e][n - i - 1 ]
103
+ matrix[e][n - i - 1 ] = t
104
+ s += 1
91
105
```
92
106
93
107
### ** Java**
94
108
95
109
``` java
96
-
110
+ class Solution {
111
+ public void rotate (int [][] matrix ) {
112
+ int s = 0 , n = matrix. length;
113
+ while (s < (n >> 1 )) {
114
+ int e = n - s - 1 ;
115
+ for (int i = s; i < e; ++ i) {
116
+ int t = matrix[i][e];
117
+ matrix[i][e] = matrix[s][i];
118
+ matrix[s][i] = matrix[n - i - 1 ][s];
119
+ matrix[n - i - 1 ][s] = matrix[e][n - i - 1 ];
120
+ matrix[e][n - i - 1 ] = t;
121
+ }
122
+ ++ s;
123
+ }
124
+ }
125
+ }
97
126
```
98
127
99
128
### ** ...**
Original file line number Diff line number Diff line change 1
1
class Solution {
2
2
public void rotate (int [][] matrix ) {
3
- if (matrix ==null ) return ;
4
- int n =matrix .length ;
5
- for (int i =0 ;i <n ;i ++){
6
- for (int j =i ;j <n ;j ++){
7
- int temp =matrix [i ][j ];
8
- matrix [i ][j ]=matrix [j ][i ];
9
- matrix [j ][i ]=temp ;
10
- }
11
- }
12
- for (int i =0 ;i <n ;i ++){
13
- for (int j =0 ;j <n /2 ;j ++){
14
- int temp = matrix [i ][j ];
15
- matrix [i ][j ] = matrix [i ][matrix .length -1 -j ];
16
- matrix [i ][matrix .length -1 -j ] = temp ;
3
+ int s = 0 , n = matrix .length ;
4
+ while (s < (n >> 1 )) {
5
+ int e = n - s - 1 ;
6
+ for (int i = s ; i < e ; ++i ) {
7
+ int t = matrix [i ][e ];
8
+ matrix [i ][e ] = matrix [s ][i ];
9
+ matrix [s ][i ] = matrix [n - i - 1 ][s ];
10
+ matrix [n - i - 1 ][s ] = matrix [e ][n - i - 1 ];
11
+ matrix [e ][n - i - 1 ] = t ;
17
12
}
13
+ ++s ;
18
14
}
19
15
}
20
16
}
Original file line number Diff line number Diff line change
1
+ class Solution :
2
+ def rotate (self , matrix : List [List [int ]]) -> None :
3
+ """
4
+ Do not return anything, modify matrix in-place instead.
5
+ """
6
+ s , n = 0 , len (matrix )
7
+ while s < (n >> 1 ):
8
+ e = n - s - 1
9
+ for i in range (s , e ):
10
+ t = matrix [i ][e ]
11
+ matrix [i ][e ] = matrix [s ][i ]
12
+ matrix [s ][i ] = matrix [n - i - 1 ][s ]
13
+ matrix [n - i - 1 ][s ] = matrix [e ][n - i - 1 ]
14
+ matrix [e ][n - i - 1 ] = t
15
+ s += 1
You can’t perform that action at this time.
0 commit comments