Programa C++ para verificar si la longitud de la lista vinculada dada es par o impar

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.

C++

// C++ program to check length 
// of a given linklist 
#include <bits/stdc++.h>
using namespace std; 
  
// Defining structure 
class Node 
{ 
    public:
    int data; 
    Node* next; 
}; 
  
// Function to check the length 
// of linklist 
int LinkedListLength(Node* head) 
{ 
    while (head && head->next) 
    { 
        head = head->next->next; 
    } 
    if (!head) 
        return 0; 
    return 1; 
} 
      
// Push function 
void push(Node** head, int info) 
{ 
    // Allocating node 
    Node* node = new Node();
      
    // Info into node 
    node->data = info; 
      
    // Next of new node to head 
    node->next = (*head); 
  
    // head points to new node 
    (*head) = node; 
} 
  
// Driver code 
int main(void) 
{ 
    Node* head = NULL; 
      
    // Adding elements to Linked List 
    push(&head, 4); 
    push(&head, 5); 
    push(&head, 7); 
    push(&head, 2); 
    push(&head, 9); 
    push(&head, 6); 
    push(&head, 1); 
    push(&head, 2); 
    push(&head, 0); 
    push(&head, 5); 
    push(&head, 5); 
    int check = LinkedListLength(head); 
      
    // Checking for length of 
    // linklist 
    if(check == 0) 
    { 
        cout << "Even"; 
    } 
    else
    { 
        cout << "Odd"; 
    } 
    return 0; 
} 
// This is code is contributed by rathbhupendra

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *