给你一个大小为 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]
- 题解
var findDiagonalOrder = function(mat){
let backArr = [],l=0,k=0,rowLen = mat.length-1,columnLen = mat[0].length-1
for(let i =0;i<=rowLen+columnLen;i++){
if(i%2===0){
for(let j = k;j>=i-l;j--){
backArr.push(mat[j][i-j])
}
}else{
for(let j= l;j>=i-k;j--){
backArr.push(mat[i-j][j])
}
}
k = k >=rowLen?rowLen:k+1
l = l>=columnLen?columnLen:l+1
}
return backArr
}
作者:力扣 (LeetCode)
链接:https://leetcode-cn.com/leetbook/read/array-and-string/cuxq3/
来源:力扣(LeetCode)