@ankit can you be please specific and i would encourage people to come up with solution and then we can discuss.But you can always ask solution to specific questions...:)
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
recursive approach:
ReplyDeleteStruct node * convert(int arr[],int start,int end)
{
if(start>end) return NULL;
else
{
int mid=(start+end)/2;
struct node* root=new node;
root->data=arr[mid];
root->left=convert(arr,start,mid-1);
root->right=convert(arr,mid+1,end);
return root;
}
}
@ankit correct...
ReplyDelete@Priyaranjan could you please give the solution for other questions that have not been solved yet??.....
ReplyDelete@ankit can you be please specific and i would encourage people to come up with solution and then we can discuss.But you can always ask solution to specific questions...:)
ReplyDelete