File tree 5 files changed +112
-16
lines changed
solution/0800-0899/0867.Transpose Matrix
5 files changed +112
-16
lines changed Original file line number Diff line number Diff line change 9
9
10
10
<p >矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。</p >
11
11
12
+ ![ ] ( ./images/hint_transpose.png )
13
+
12
14
<p >  ; </p >
13
15
14
16
<p ><strong >示例 1:</strong ></p >
43
45
<!-- 这里可写当前语言的特殊实现逻辑 -->
44
46
45
47
``` 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
47
56
```
48
57
49
58
### ** Java**
50
59
51
60
<!-- 这里可写当前语言的特殊实现逻辑 -->
52
61
53
62
``` 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
+ ```
54
76
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
+ };
55
96
```
56
97
57
98
### ** ...**
Original file line number Diff line number Diff line change 58
58
### ** Python3**
59
59
60
60
``` 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
62
69
```
63
70
64
71
### ** Java**
65
72
66
73
``` 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
+ ```
67
87
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
+ };
68
107
```
69
108
70
109
### ** ...**
Original file line number Diff line number Diff line change
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 number Diff line number Diff line change 1
1
/**
2
- * @param {number[][] } A
2
+ * @param {number[][] } matrix
3
3
* @return {number[][] }
4
4
*/
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 ] ;
17
13
}
18
14
}
19
- return tran_matrix ;
15
+ return res ;
20
16
} ;
Original file line number Diff line number Diff line change
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
You can’t perform that action at this time.
0 commit comments