###### tags: `Leetcode` `easy` `array` `python` `c++`
# 867. Transpose Matrix
## [題目連結:] https://leetcode.com/problems/transpose-matrix/description/
## 題目:
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]]
```
## 解題想法:
* 將matrix進行transpose
* 行列位置交換即可
## Python:
``` python=
class Solution(object):
def transpose(self, matrix):
"""
:type matrix: List[List[int]]
:rtype: List[List[int]]
"""
row=len(matrix)
col=len(matrix[0])
res=[ [ 0 for _ in range(row)] for _ in range(col)]
for i in range(row):
for j in range(col):
res[j][i]=matrix[i][j]
return res
```
## C++:
``` cpp=
class Solution {
public:
vector<vector<int>> transpose(vector<vector<int>>& matrix) {
int row=matrix.size();
int col=matrix[0].size();
//二維創建注意初始內容
vector<vector<int>> res(col, vector<int>(row));
for (int i=0; i<row; i++){
for (int j=0; j<col; j++){
res[j][i]=matrix[i][j];
}
}
return res;
}
};
```