1. 程式人生 > >LeetCode陣列867. 轉置矩陣

LeetCode陣列867. 轉置矩陣

題目

給定一個矩陣 A, 返回 A 的轉置矩陣。

矩陣的轉置是指將矩陣的主對角線翻轉,交換矩陣的行索引與列索引。
示例 1:
輸入:[[1,2,3],[4,5,6],[7,8,9]]
輸出:[[1,4,7],[2,5,8],[3,6,9]]
示例 2:
輸入:[[1,2,3],[4,5,6]]
輸出:[[1,4],[2,5],[3,6]]

思路

矩陣的轉置就是從行變成列, 列變成行

  • 先定義一個最終存放矩陣的容器
  • 先對列進行迴圈i,並定義一個臨時陣列用於存放資料,在每次列的迴圈內部,再次對行進行迴圈j,取第M[j][i]個元素存入一個臨時陣列中
  • 在每次列迴圈完畢,將臨時陣列存入最終陣列中
  • 當列迴圈完畢, 最終陣列就是矩陣的轉置

程式碼

class Solution(object):
    def transpose(self, A):
        """
        :type A: List[List[int]]
        :rtype: List[List[int]]
        """
        result =[]
        row= len(A)
        col = len(A[0])
        for i in range(col):
            item=[]
            for
index in range(row): item.append(A[index][i]) result.append(item) return result

矩陣轉置的方法