Dada una lista enlazada, la tarea es hacer una función que verifique si la longitud de la lista enlazada es par o impar.
Ejemplos:
Input : 1->2->3->4->NULL Output : Even Input : 1->2->3->4->5->NULL Output : Odd
Método 1: Cuente los códigos linealmente
. Atraviese toda la lista enlazada y siga contando el número de Nodes. Tan pronto como finaliza el ciclo, podemos verificar si el conteo es par o impar. Puede intentarlo usted mismo.
Método 2: Escalonamiento de 2 Nodes a la vez
Enfoque:
1. Take a pointer and move that pointer two nodes at a time 2. At the end, if the pointer is NULL then length is Even, else Odd.
Python3
# Python program to check length # of a given linklist # Defining structure class Node: def __init__(self, d): self.data = d self.next = None self.head = None # Function to check the length # of linklist def LinkedListLength(self): while (self.head != None and self.head.next != None): self.head = self.head.next.next if(self.head == None): return 0 return 1 # Push function def push(self, info): # Allocating node node = Node(info) # Next of new node to head node.next = (self.head) # head points to new node (self.head) = node # Driver code head = Node(0) # Adding elements to Linked List head.push(4) head.push(5) head.push(7) head.push(2) head.push(9) head.push(6) head.push(1) head.push(2) head.push(0) head.push(5) head.push(5) check = head.LinkedListLength() # Checking for length of # linklist if(check == 0): print("Even") else: print("Odd") # This code is contributed by Prerna saini
Producción:
Odd
Complejidad de tiempo: O(n)
Complejidad de espacio: O(1)
¡ Consulte el artículo completo sobre Comprobar si la longitud de la lista vinculada dada es par o impar para obtener más detalles!
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA