Diagonal Traverse II LeetCode solution in C++
1class Solution {2public:3vector<int> findDiagonalOrder(vector<vector<int>> &nums) {4int n = nums.size();5int m = 0;6for (vector<int> &v : nums) {7int y = v.size();8m = max(m, y);9}10vector<int> D2[n + m - 1];11for (int i = 0; i < n; i++) {12for (int j = 0; j < nums[i].size(); j++) {13D2[i + j].push_back(nums[i][j]);14}15}16vector<int> ans;17for (int i = 0; i < n + m - 1; i++) {18int x = D2[i].size();19while (x--) {20ans.push_back(D2[i][x]);21D2[i].pop_back();22}23}24return ans;25}26};