Skip to content

Commit c55f7a6

Browse files
committed
feat: add solutions to leetcode problem: No.0867
1 parent 84706c3 commit c55f7a6

File tree

5 files changed

+112
-16
lines changed

5 files changed

+112
-16
lines changed

solution/0800-0899/0867.Transpose Matrix/README.md

+42-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
<p>矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。</p>
1111

12+
![](./images/hint_transpose.png)
13+
1214
<p>&nbsp;</p>
1315

1416
<p><strong>示例 1:</strong></p>
@@ -43,15 +45,54 @@
4345
<!-- 这里可写当前语言的特殊实现逻辑 -->
4446

4547
```python
46-
48+
class Solution:
49+
def transpose(self, matrix: List[List[int]]) -> List[List[int]]:
50+
m, n = len(matrix), len(matrix[0])
51+
res = [[0] * m for _ in range(n)]
52+
for i in range(n):
53+
for j in range(m):
54+
res[i][j] = matrix[j][i]
55+
return res
4756
```
4857

4958
### **Java**
5059

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

5362
```java
63+
class Solution {
64+
public int[][] transpose(int[][] matrix) {
65+
int m = matrix.length, n = matrix[0].length;
66+
int[][] res = new int[n][m];
67+
for (int i = 0; i < n; ++i) {
68+
for (int j = 0; j < m; ++j) {
69+
res[i][j] = matrix[j][i];
70+
}
71+
}
72+
return res;
73+
}
74+
}
75+
```
5476

77+
### **JavaScript**
78+
79+
```js
80+
/**
81+
* @param {number[][]} matrix
82+
* @return {number[][]}
83+
*/
84+
var transpose = function (matrix) {
85+
const m = matrix.length,
86+
n = matrix[0].length;
87+
let res = [];
88+
for (let i = 0; i < n; ++i) {
89+
res[i] = [];
90+
for (let j = 0; j < m; ++j) {
91+
res[i][j] = matrix[j][i];
92+
}
93+
}
94+
return res;
95+
};
5596
```
5697

5798
### **...**

solution/0800-0899/0867.Transpose Matrix/README_EN.md

+40-1
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,52 @@
5858
### **Python3**
5959

6060
```python
61-
61+
class Solution:
62+
def transpose(self, matrix: List[List[int]]) -> List[List[int]]:
63+
m, n = len(matrix), len(matrix[0])
64+
res = [[0] * m for _ in range(n)]
65+
for i in range(n):
66+
for j in range(m):
67+
res[i][j] = matrix[j][i]
68+
return res
6269
```
6370

6471
### **Java**
6572

6673
```java
74+
class Solution {
75+
public int[][] transpose(int[][] matrix) {
76+
int m = matrix.length, n = matrix[0].length;
77+
int[][] res = new int[n][m];
78+
for (int i = 0; i < n; ++i) {
79+
for (int j = 0; j < m; ++j) {
80+
res[i][j] = matrix[j][i];
81+
}
82+
}
83+
return res;
84+
}
85+
}
86+
```
6787

88+
### **JavaScript**
89+
90+
```js
91+
/**
92+
* @param {number[][]} matrix
93+
* @return {number[][]}
94+
*/
95+
var transpose = function (matrix) {
96+
const m = matrix.length,
97+
n = matrix[0].length;
98+
let res = [];
99+
for (let i = 0; i < n; ++i) {
100+
res[i] = [];
101+
for (let j = 0; j < m; ++j) {
102+
res[i][j] = matrix[j][i];
103+
}
104+
}
105+
return res;
106+
};
68107
```
69108

70109
### **...**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
class Solution {
2+
public int[][] transpose(int[][] matrix) {
3+
int m = matrix.length, n = matrix[0].length;
4+
int[][] res = new int[n][m];
5+
for (int i = 0; i < n; ++i) {
6+
for (int j = 0; j < m; ++j) {
7+
res[i][j] = matrix[j][i];
8+
}
9+
}
10+
return res;
11+
}
12+
}
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
11
/**
2-
* @param {number[][]} A
2+
* @param {number[][]} matrix
33
* @return {number[][]}
44
*/
5-
6-
/**
7-
* Author: Mcnwork2018
8-
*/
9-
10-
var transpose = function (A) {
11-
if (A.length === 1 && A[0].length === 1) return A;
12-
let tran_matrix = [];
13-
for (let i = 0; i < A[0].length; ++i) {
14-
tran_matrix[i] = [];
15-
for (let j = 0; j < A.length; ++j) {
16-
tran_matrix[i][j] = A[j][i];
5+
var transpose = function (matrix) {
6+
const m = matrix.length,
7+
n = matrix[0].length;
8+
let res = [];
9+
for (let i = 0; i < n; ++i) {
10+
res[i] = [];
11+
for (let j = 0; j < m; ++j) {
12+
res[i][j] = matrix[j][i];
1713
}
1814
}
19-
return tran_matrix;
15+
return res;
2016
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
class Solution:
2+
def transpose(self, matrix: List[List[int]]) -> List[List[int]]:
3+
m, n = len(matrix), len(matrix[0])
4+
res = [[0] * m for _ in range(n)]
5+
for i in range(n):
6+
for j in range(m):
7+
res[i][j] = matrix[j][i]
8+
return res

0 commit comments

Comments
 (0)