How to Find the Nth Node from the End of a Linked List in Python
In this tutorial, we will learn how to program "How to Find the Nth Node from the End of a Linked List in Python." The objective is to find the nth node from the end of a linked list. This tutorial will guide you step by step through the process of finding the nth node. By the end of this tutorial, you will have a solid understanding of how to implement this task effectively in Python, helping you strengthen your problem-solving abilities and improve your coding skills.
This topic is straightforward and easy to understand. Simply follow the instructions provided, and you will complete it with ease. The program will guide you step by step through the process of Find the Nth Node from the End of a Linked List . So, let's dive into the coding process!
Getting Started:
First you will have to download & install the Python IDLE's, here's the link for the Integrated Development And Learning Environment for Python https://www.python.org/downloads/.
Creating Main Function
This is the main function of the application. The following code will display a simple GUI in terminal console that will display program. To do this, simply copy and paste these blocks of code into the IDLE text editor.- class Node:
- def __init__(self, data):
- self.data = data
- self.next = None
- class LinkedList:
- def __init__(self):
- self.head = None
- self.last_node = None
- def append(self, data):
- if self.last_node is None:
- self.head = Node(data)
- self.last_node = self.head
- else:
- self.last_node.next = Node(data)
- self.last_node = self.last_node.next
- def length_llist(llist):
- length = 0
- current = llist.head
- while current:
- length += 1
- current = current.next
- return length
- def return_n_from_last(llist, n):
- l = length_llist(llist)
- current = llist.head
- for _ in range(l - n):
- current = current.next
- return current.data
- while True:
- print("\n============= Find the Nth Node from the End of a Linked List =============\n")
- a_llist = LinkedList()
- data_list = input(
- "Please enter the elements in the linked list (space-separated): "
- ).split()
- for data in data_list:
- a_llist.append(int(data))
- n = int(input("Enter n (nth element from the end): "))
- value = return_n_from_last(a_llist, n)
- print(f"The {n}th element from the end is: {value}")
- # Ask user if they want to try again
- opt = input("\nDo you want to try again? (yes/no): ").strip().lower()
- if opt == "no":
- print("Exiting program...")
- break
- elif opt != "yes":
- print("Invalid choice. Exiting program...")
- break
This program finds the nth node from the end of a singly linked list. It allows the user to create a linked list by entering elements, then calculates the total length of the list by traversing it once. Using this length, the program determines the position of the desired node from the beginning and retrieves its value accordingly. The result is displayed clearly to the user, and the program includes an option to repeat the process or exit, making it interactive and user-friendly.
Output:
There you have it we successfully created How to Find the Nth Node from the End of a Linked List in Python. I hope that this simple tutorial help you to what you are looking for. For more updates and tutorials just kindly visit this site. Enjoy Coding!
More Tutorials for Python Language