The idea came from this problem: https://oj.leetcode.com/problems/linked-list-cycle-ii/

The current problem can be formalized to match that problem: just connect the tail of list A to the head of B. Then find the starting point of the cycle which will be the same as the intersection of the original lists. Of course at the and you must restore the original lists, removing the cycle.