FAQ: Technical Interview Problems in Python: Linked Lists - Insert at Point

This community-built FAQ covers the “Insert at 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 Insert at 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!

Hi,

The sample solution does not handle if the given index is out of the range.

my solution
def insert(self, node_value, location):
    # if location is 0 insert to the head
    if location == 0:
      self.add(node_value)
      return self
    
    # location greater than 0; traverse to location:
    current_node = self.head
    for i in range(1, location):

      if current_node.next:
        current_node = current_node.next
      else: 
        print("Run out from index")
        return self
    
    # location found; insert new node:
    # look for tail:
    if not current_node.next:
      # we are at tail:
      new_node = Node(node_value)
    else:
      # we are at middle:  
      new_node = Node(node_value, current_node.next)
    current_node.next = new_node
    return self
1 Like

Thanks you for your help:)