FAQ: Technical Interview Problems in Python: Linked Lists - Find Merge Point

This community-built FAQ covers the “Find Merge Point” exercise from the lesson “Technical Interview Problems in Python: Linked Lists”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Technical Interview Practice: Python

FAQs on the exercise Find Merge Point

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

I am having a problem getting the site to accept my solution to this exercise. I have a working solution in the code editor (tested by also running locally in a script on my machine) but when I run it on the site I get the error: " Is the merge_point() function defined within merge_point.py ?" The answer is yes, that function is defined in the merge_point.py file, I’ve attached a screenshot showing that to be the case. Strangely the console output on the side also shows the code running correctly (the “found target” line is my own print statement so it should pass. However the error is preventing me from progressing in the course.

Interestingly that error only appears when my code for the complete solution is run. When I take out any lines from the function (resulting in the code not returning the correct result), I get " Function should have produced node containing 'q' , but x returned instead". So it seems like the back-end is still able to see the function and run it.

When running my or this website’s solution into the website, everything works well. But if I run any of the two solutions in my computer (in either PyCharm or JupyterLab), there’s an error related to the print statement that I don’t know how to solve:

—> 38 print(“Function should return merge point node holding ‘q’: {0}”.format(test_result.val))

AttributeError: ‘NoneType’ object has no attribute ‘val’

It seems like my computer system doesn’t recognise the function .val of the linked lists. This is weird because I don’t have this issue with the previous problems where the function .val is also used.
Somebody can help me please?


I have a different solution again…
I store the ID of Node (this is an object) in a list.
If I find the similar ID, I also find the merge-point and return the current Node.
I use one loop to traverse on linked list until find the merge-point.
The worst case if I cannot to find match.

My solution
def merge_point(linked_list_a, linked_list_b):
  current_a = linked_list_a.head
  current_b = linked_list_b.head
  unique = []
  while current_a or current_b:
    if current_a:
      # insert id to the unique list
      id_a = id(current_a)
      # check merge point:
      if id_a in unique:
        return current_a
      else: unique.append(id_a)

      # move to the next node:
      current_a = current_a.next
    if current_b:
      id_b = id(current_b)
      if id_b in unique:
        return current_b
      else: unique.append(id_b)
      current_b = current_b.next

  return None