1. ## Checking if the two linked lists merge

I wanted to know how do i check if the two linked lists merge. What should be the algorithm for this. I can only imagine that if the two linked lists merge then they will have a Y LIKE structure with both of them having a common null termination point. Any suggestions on what approach i should take to figure that out ?

2. Merge how? You need to define what you mean by merge.
Code:
```List A  A1    A2    A3
\     \     \
Merged    A1 B1 A2 B2 A3 B3
/     /     /
List B     B1    B2    B3

List A  A1 A2 A3
\  \  \
Merged    A1 A2 A3 B1 B2 B3
/  /  /
List B          B1 B2 B3```
What if list A has more elements than list B? What if list A has elements that duplicate list B? It's all in how you want/need to do it.

3. Easy, count the number of data items in each separate list - then count the number of data items in the final, merged list.

Look into mergesort, on Wikipedia, and search this site for it as well. There was a good thread or two on that, this year.