对角线遍历
对角线遍历
给你一个大小为 m x n 的矩阵 mat ,请以对角线遍历的顺序,用一个数组返回这个矩阵中的所有元素。
示例 1:
输入:mat = [[1,2,3],[4,5,6],[7,8,9]]
输出:[1,2,4,7,5,3,6,8,9]
示例 2:
输入:mat = [[1,2],[3,4]]
输出:[1,2,3,4]
提示:
m == mat.length
n == mat[i].length
1 <= m, n <= 104
1 <= m * n <= 104
-105 <= mat[i][j] <= 105
思路
[1,2,3]
[4,5,6]
[7,8,9]
分析:
产生对角线数量= n+m-1
偶数对角线:都是从上向下执行,对角线第一坐标[x,y] -> new[x+1,y-1]
奇数对角线:都是从下向上执行,因为从下向上执行,对角线第一坐标[x,y] 改成[y,x]坐标。取得下坐标
偶数对角线
作者:力扣 (LeetCode)
链接:https://leetcode.cn/leetbook/read/array-and-string/cuxq3/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。