let A and B be 2 linked list. Make a copy of A(say C)such that data part of a node in C keeps the pointer to the next node in A. Reverse B. Keep traversing A and C simultaneously. If at any point the data part of C and next node pointer of A are different, then that is the required node.
start comparing the addresses at the point where the lists are at the same height(in this case at value 9 and 10) that's at list1.length-list2.length index. O(n) time.
Implement a function getbits, that returns the(right adjusted) n bits that begin at position p of an integer. Assume bit position 0 is at the right end and that n and p are sensible positive values.
You are given n real numbers in an array. A number in the array is called a decimal dominant if it occurs more than n/10 times in the array. Give an O(n) time algorithm to determine if the given array has a decimal dominant.
let A and B be 2 linked list.
ReplyDeleteMake a copy of A(say C)such that data part of a node in C keeps the pointer to the next node in A.
Reverse B. Keep traversing A and C simultaneously. If at any point the data part of C and next node pointer of A are different, then that is the required node.
@jainendra try without using any extra space...
ReplyDeletestart comparing the addresses at the point where the lists are at the same height(in this case at value 9 and 10) that's at list1.length-list2.length index. O(n) time.
ReplyDeletecan you elaborate a little bit...
ReplyDelete