File tree Expand file tree Collapse file tree 5 files changed +112
-16
lines changed
solution/0800-0899/0867.Transpose Matrix Expand file tree Collapse file tree 5 files changed +112
-16
lines changed Original file line number Diff line number Diff line change 99
1010<p >矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。</p >
1111
12+ ![ ] ( ./images/hint_transpose.png )
13+
1214<p >  ; </p >
1315
1416<p ><strong >示例 1:</strong ></p >
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### ** ...**
Original file line number Diff line number Diff line change 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 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 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 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