Given a Binary Tree, find vertical sum of the nodes that are in same vertical line. Print all sums through different vertical lines. Examples: 1 / \ 2 3 / \ / \ 4 5 6 7 The tree has 5 vertical lines Vertical-Line-1 has only one node 4 => vertical sum is 4 Vertical-Line-2: has only one node 2=> vertical sum is 2 Vertical-Line-3: has three nodes: 1,5,6 => vertical sum is 1+5+6 = 12 Vertical-Line-4: has only one node 3 => vertical sum is 3 Vertical-Line-5: has only one node 7 => vertical sum is 7 So expected output is 4, 2, 12, 3 and 7
node * bst(node *p,node *parent=null){
ReplyDeletenode *q=null,*prev,*next,*t;
if(p==null)
return q;
bst(p->left,parent);
t=malloc(sizeof(node));
t->prev=null;
t->next=null;
t->value=p->value;
parent=t;
if(q==null)
{q=t;
}
else{
parent->next=t;
t->prev=parent;
t->next=null;
}
bst(p->right,parent);
return q;
}
http://cslibrary.stanford.edu/109/TreeListRecursion.html#c
ReplyDelete