Skip to content

Commit 7a6416f

Browse files
committed
leetcode
1 parent 223d8b7 commit 7a6416f

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

987(a).cpp

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
2+
void solve(TreeNode * root, map<int,vector<pair<int,int>>>&mp , int hd, int depth){
3+
if(root==NULL){
4+
return ;
5+
}
6+
mp[hd].push_back({depth,root->val});
7+
solve(root->left , mp,hd-1,depth+1);
8+
solve(root->right,mp,hd+1,depth+1);
9+
}
10+
11+
12+
class Solution {
13+
public:
14+
vector<vector<int>> verticalTraversal(TreeNode* root) {
15+
vector<vector<int>>A;
16+
if(root==NULL){
17+
return A;
18+
}
19+
20+
map<int,vector<pair<int,int>>>mp;
21+
solve(root,mp,0,0);
22+
23+
for(auto it=mp.begin();it!=mp.end();it++){
24+
sort(it->second.begin(),it->second.end());
25+
vector<int>B;
26+
for(int i=0;i<it->second.size();i++){
27+
B.push_back(it->second[i].second);
28+
}
29+
30+
A.push_back(B);
31+
32+
}
33+
34+
return A;
35+
36+
}
37+
};

0 commit comments

Comments
 (0)