## DEV Community is a community of 887,561 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

# 160. Intersection of Two Linked Lists - Leetcode

#### Naive Approach :

1. Find the length of both the lists
2. Find the difference in the length of both the lists
3. Then start checking the equality for the nodes
4. Once we find equal node return that node
5. otherwise if we reach at the end return the null

#### There is a better way to do it:

1. We are going to traverse the shorter one and longer one at the same time
2. We are going to set pointers to the heads of both of these.
3. When we get at the end of the shorter one, we set the pointer to the head of the longer one.
4. When we get at the end of the longer one, we set the pointer to the head of the shorter one.

#### Here, is the code of the implementation

``````class Solution {
public:

//while the nodes are not equal
while(a_pointer != b_pointer ){
if(a_pointer == NULL){
//this means it is at the end of the list
}

else{
a_pointer = a_pointer->next;
}

if(b_pointer == NULL){
//this means it is at the end of the list