Yes, you can do this by marking the visited nodes, and if you encounter any previous node again, then there is the insertion happening at this node. For this, you have to traverse both lists and find out if any node is revisited. And another method is to get the count of the first list and the count of the second list, then get the difference between the counts. Then you need to traverse in the large, linked list difference times, then you traverse both the lists in parallel until you find a common node which you can get by comparing the pointers, and this will be the junction node.