O(C) time O(log(max(m, n))) space
当一个binary tree来level order traverse
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| class Solution { public: vector<int> findDiagonalOrder(vector<vector<int>>& nums) { queue<pair<int, int>> q{{{0, 0}}}; vector<int> res; while (!q.empty()) { auto [r, c] = q.front(); q.pop(); res.push_back(nums[r][c]); if (r + 1 < nums.size() && c == 0) { q.emplace(r + 1, c); } if (c + 1 < nums[r].size()) { q.emplace(r, c + 1); } } return res; } };
|