链接:https://leetcode-cn.com/problems/diagonal-traverse/
执行用时:28 ms, 在所有 C++ 提交中击败了79.11% 的用户
内存消耗:18 MB, 在所有 C++ 提交中击败了17.22% 的用户
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| class Solution { public: vector<int> findDiagonalOrder(vector<vector<int>>& mat) { int row = mat.size(); int col = mat[0].size(); vector<int> res; vector<int> mid; if(mat.empty()) return mid; for (int i=0; i<row+col-1; ++i) { mid.clear(); int r = i<col?0:i-col+1; int c = i<col?i:col-1; while (r< row && c>-1) { mid.push_back(mat[r][c]); ++r; --c; } if(i%2==0){ reverse(mid.begin(), mid.end()); } for (int i = 0; i < mid.size(); i++) { res.push_back(mid[i]); } } return res; } };
|