题目描述
结果
class Solution {
public:
vector<int> findDiagonalOrder(vector<vector<int>>& matrix) {
int m = matrix.size();
vector<int> res;
if(!m)
return res;
int n = matrix[0].size();
if(!n)
return res;
bool is = true;
for(int i = 0; i < m + n - 1; i++)
{
int iM = is ? m : n,
iN = is ? n : m,
x = i < iM ? i : iM - 1,
y = i - x;
while(x >= 0 && y < iN)
{
res.push_back(is ? matrix[x][y] : matrix[y][x]);
x--;
y++;
}
is = !is;
}
return res;
}
};