Delete duplicate-value nodes from a sorted linked list hackerrank solution

Problem solution in Python programming.

#!/bin/python3 import math import os import random import re import sys class SinglyLinkedListNode: def __init__[self, node_data]: self.data = node_data self.next = None class SinglyLinkedList: def __init__[self]: self.head = None self.tail = None def insert_node[self, node_data]: node = SinglyLinkedListNode[node_data] if not self.head: self.head = node else: self.tail.next = node self.tail = node def print_singly_linked_list[node, sep, fptr]: while node: fptr.write[str[node.data]] node = node.next if node: fptr.write[sep] def removeDuplicates[head]: ans=None s=set[] ansl=SinglyLinkedList[] while head: if head.data not in s: s.add[head.data] ansl.insert_node[head.data] head=head.next else: head=head.next return ansl.head if __name__ == '__main__': fptr = open[os.environ['OUTPUT_PATH'], 'w'] t = int[input[]] for t_itr in range[t]: llist_count = int[input[]] llist = SinglyLinkedList[] for _ in range[llist_count]: llist_item = int[input[]] llist.insert_node[llist_item] llist1 = removeDuplicates[llist.head] print_singly_linked_list[llist1, ' ', fptr] fptr.write['\n'] fptr.close[]




Video liên quan

Chủ Đề