We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 5e456e1 commit 4fd6613Copy full SHA for 4fd6613
17 - Binary Tree Data Structure Problems/23 - Diagonal Tree Traversal/main.cpp
@@ -0,0 +1,23 @@
1
+void solve(Node* root, int d, map<int, vector<int>> & diagonalMap){
2
+ if(root == NULL) return;
3
+
4
+ diagonalMap[d].push_back(root -> data);
5
6
+ solve(root -> left, d + 1, diagonalMap);
7
+ solve(root -> right, d, diagonalMap);
8
+}
9
+vector<int> diagonal(Node *root)
10
+{
11
+ map<int, vector<int>> diagonalMap;
12
+ vector<int> result;
13
14
+ solve(root, 0, diagonalMap);
15
16
17
+ for(auto i : diagonalMap){
18
+ result.insert(result.end(), i.second.begin(), i.second.end());
19
+ }
20
21
22
+ return result;
23
0 commit comments