#867
Easy Algorithms Transpose matrix
Array Matrix Simulation
75.9% acceptance
Feb 22, 2026
4168
459
Given a 2D integer array matrix, return the transpose of matrix.
The transpose of a matrix is the matrix flipped over its main diagonal, switching the matrix's row and column indices.
Solution
Rust
Time O(n)
Space O(1)
/*
* Given a 2D integer array matrix, return the transpose of matrix.
* The transpose of a matrix is the matrix flipped over its main diagonal, switching the matrix's row and column indices.
* Example 1:
* Input: matrix = [[1,2,3],[4,5,6],[7,8,9]]
* Output: [[1,4,7],[2,5,8],[3,6,9]]
* Example 2:
* Input: matrix = [[1,2,3],[4,5,6]]
* Output: [[1,4],[2,5],[3,6]]
* Constraints:
* m == matrix.length
* n == matrix[i].length
* 1 <= m, n <= 1000
* 1 <= m * n <= 105
* -109 <= matrix[i][j] <= 109
*/
impl Solution {
pub fn transpose(matrix: Vec<Vec<i32>>) -> Vec<Vec<i32>> {
let r = matrix.len();
let c = matrix[0].len();
(0..c).map(|j| (0..r).map(|i| matrix[i][j]).collect()).collect()
}
}