<p>Given a 2D integer array <code>matrix</code>, return <em>the <strong>transpose</strong> of</em> <code>matrix</code>.</p> <p>The <strong>transpose</strong> of a matrix is the matrix flipped over its main diagonal, switching the matrix's row and column indices.</p> <p><img alt="" src="https://assets.leetcode.com/uploads/2021/02/10/hint_transpose.png" style="width: 600px; height: 197px;" /></p> <p> </p> <p><strong class="example">Example 1:</strong></p> <pre> <strong>Input:</strong> matrix = [[1,2,3],[4,5,6],[7,8,9]] <strong>Output:</strong> [[1,4,7],[2,5,8],[3,6,9]] </pre> <p><strong class="example">Example 2:</strong></p> <pre> <strong>Input:</strong> matrix = [[1,2,3],[4,5,6]] <strong>Output:</strong> [[1,4],[2,5],[3,6]] </pre> <p> </p> <p><strong>Constraints:</strong></p> <ul> <li><code>m == matrix.length</code></li> <li><code>n == matrix[i].length</code></li> <li><code>1 <= m, n <= 1000</code></li> <li><code>1 <= m * n <= 10<sup>5</sup></code></li> <li><code>-10<sup>9</sup> <= matrix[i][j] <= 10<sup>9</sup></code></li> </ul>