Back to Leetcode Go

867. Transpose Matrix

website/content.en/ChapterFour/0800~0899/0867.Transpose-Matrix.md

1.7.971.1 KB
Original Source

867. Transpose Matrix

Problem

Given a matrix A, return the transpose of A.

The transpose of a matrix is the matrix flipped over it's main diagonal, switching the row and column indices of the matrix.

Example 1:

Input: [[1,2,3],[4,5,6],[7,8,9]]
Output: [[1,4,7],[2,5,8],[3,6,9]]

Example 2:

Input: [[1,2,3],[4,5,6]]
Output: [[1,4],[2,5],[3,6]]

Note:

  1. 1 <= A.length <= 1000
  2. 1 <= A[0].length <= 1000

Problem Summary

Given a matrix A, return the transpose of A. The transpose of a matrix means flipping the matrix over its main diagonal, swapping the row indices and column indices of the matrix.

Solution Ideas

  • Given a matrix, rotate it 90° clockwise
  • The solution idea is very simple; just simulate it directly.

Code

go

package leetcode

func transpose(A [][]int) [][]int {
	row, col, result := len(A), len(A[0]), make([][]int, len(A[0]))
	for i := range result {
		result[i] = make([]int, row)
	}
	for i := 0; i < row; i++ {
		for j := 0; j < col; j++ {
			result[j][i] = A[i][j]
		}
	}
	return result
}