Skip to content

Commit 64fb894

Browse files
committed
feat: add python and java solutions to leetcode problem: No.0048
1 parent c45b7e4 commit 64fb894

File tree

4 files changed

+87
-18
lines changed

4 files changed

+87
-18
lines changed

solution/0000-0099/0048.Rotate Image/README.md

+31-2
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,44 @@
6060
<!-- 这里可写当前语言的特殊实现逻辑 -->
6161

6262
```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
6478
```
6579

6680
### **Java**
6781

6882
<!-- 这里可写当前语言的特殊实现逻辑 -->
6983

7084
```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+
}
72101
```
73102

74103
### **...**

solution/0000-0099/0048.Rotate Image/README_EN.md

+31-2
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,42 @@ rotate the input matrix <strong>in-place</strong> such that it becomes:
8787
### **Python3**
8888

8989
```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
91105
```
92106

93107
### **Java**
94108

95109
```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+
}
97126
```
98127

99128
### **...**
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
11
class Solution {
22
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;
1712
}
13+
++s;
1814
}
1915
}
2016
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
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

0 commit comments

Comments
 (0)