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
Give a pointer of the new string :
ReplyDeletechar *urlspace_alloc(char *str)
{
char *ptr,*p;
int x,i; for(x=i=0;str[i];i++) if(str[i]==' ') x++;
ptr=malloc(sizeof(char)*(i+(x*3)+1));
if(ptr==NULL) return NULL;
else{
for(x=i=0;str[i];i++){
if(str[i]==' '){
p=&ptr[x];
memcpy(p,"%20",3);
x+=3;
} else {
ptr[x]=str[i];
x++;
}
}
ptr[x]='\0';
}
return ptr;
}