this is the question of vertical order print
i am not getting the answer in a perfect order. please check my code
class Solution {
public:
void traversal(TreeNode* root,int d,map<int,vector >&m)
{
if(root==nullptr)
{
return;
}
m[d].push_back(root->val);
traversal(root->left,d-1,m);
traversal(root->right,d+1,m);
}
vector<vector> verticalTraversal(TreeNode* root) {
vector<vector<int> >ans;
map<int,vector<int> >m;
int d=0;
vector<int> temp;
traversal(root,d,m);
for(auto p:m)
{
for(auto x:p.second)
{
temp.push_back(x);
}
ans.push_back(temp);
temp.clear();
}
return ans;
}