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
int l=(int)(log(n)/log2)+1;
ReplyDeleteint i=0,j=l;
while(i < j){
if(( n & (1 << i)) == ( n & (1 << j))){
i++;
j--;
}
else{
break;
}
}
if(i >= j)cout << "no. is a palindrome";
else cout << "no. is not a palindrome";
@jainendra according to your understanding do you consider 1010 as palindrome or not.If yes then your program doesn't check for even length number.
ReplyDelete