题目描述
给你一个大小为 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
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/diagonal-traverse
方法一:
if
class Solution {
public:
vector findDiagonalOrder(vector>& mat) {
int x=1,y=-1,i=0,j=0,m=mat.size(),n=mat[0].size();
vector ans;
while(i>=0&&i=0&&j=0&&j=n){
i=i+2;
j--;
x=-1;
y=1;
}
if(j<0&&i>=0&&i=m){
j=j+2;
i--;
x=1;
y=-1;
}
}
return ans;
}
};



