Find Intersection Point in Two Linked List

Objective: Given Two linked list, check whether both list intersect each other, if yes then find the starting node of the intersection.

Intersection point means end of one linked list is linked with some node in another linked list and it forms a Y shape.

Input: Two Linked List

Output: Intersection Node or point

Example:

Find Intersection Point in Two Linked List

Find Intersection Point in Two Linked List

Approach:

  • Find the length of both the linked lists say : a_len and b_len
  • Find the lenDiff = (a_len ~ b_len)
  • Traverse the longer linked list by lenDiff
  • Now traverse both the lists at the same time
  • Check whether nodes are same, if yes then we have found the intersection point
  • If we reach the end of the link lists then there is no intersection point.

Trick Solution:

 Time Complexity : O(n) , Space Complexity : O(1)
Complete Code:

Output:

List A :
->1->10->20->30->40->50->60
List B :
->5->15->30->40->50->60
Intersection found at 30

__________________________________________________
Top Companies Interview Questions..-

Google Microsoft Amazon Facebook more..

If you find anything incorrect or you feel that there is any better approach to solve the above problem, please write comment.
__________________________________________________

  • bryan

    an easy question, why your code is so complicated?

%d bloggers like this: