Skip to content

Commit 4fd6613

Browse files
authored
Create main.cpp
1 parent 5e456e1 commit 4fd6613

File tree

1 file changed

+23
-0
lines changed
  • 17 - Binary Tree Data Structure Problems/23 - Diagonal Tree Traversal

1 file changed

+23
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)