Compruebe 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: 

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\n";
    }
    else
    {
        cout << "Odd\n";
    }
    return 0;
}
 
// This is code is contributed by rathbhupendra

C

// C program to check length
// of a given linklist
#include<stdio.h>
#include<stdlib.h>
 
// Defining structure
struct Node
{
    int data;
    struct Node* next;
};
 
// Function to check the length of linklist
int LinkedListLength(struct Node* head)
{
    while (head && head->next)
    {
        head = head->next->next;
    }
    if (!head)
        return 0;
    return 1;
}
     
// Push function
void push(struct Node** head, int info)
{
    // Allocating node
    struct Node* node = (struct Node*) malloc(sizeof(struct Node));
     
    // Info into node
    node->data = info;
     
    // Next of new node to head
    node->next = (*head);
 
    // head points to new node
    (*head) = node;
}
 
// Driver function
int main(void)
{
    struct 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)
    {
        printf("Even\n");
    }
    else
    {
        printf("Odd\n");
    }
    return 0;
}

Java

/*package whatever //do not write package name here */
 
import java.io.*;
 
// Java program to check length
// of a given linklist
class GfG
{
 
// Defining structure
static class Node
{
    int data;
    Node next;
}
 
// Function to check the length of linklist
static int LinkedListLength(Node head)
{
    while (head != null && head.next != null)
    {
        head = head.next.next;
    }
    if (head == null)
        return 0;
    return 1;
}
     
// Push function
static 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
public static void main(String[] args)
{
    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)
    {
        System.out.println("Odd");
    }
    else
    {
        System.out.println("Even");
    }
}
}
 
// This code is contributed by Prerna saini

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

C#

// C# program to check length
// of a given linklist
using System;
 
class GfG
{
 
// Defining structure
class Node
{
    public int data;
    public Node next;
}
 
// Function to check the length of linklist
static int LinkedListLength(Node head)
{
    while (head != null && head.next != null)
    {
        head = head.next.next;
    }
    if (head == null)
        return 0;
    return 1;
}
     
// Push function
static 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
public static void Main()
{
    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)
    {
        Console.WriteLine("Odd");
    }
    else
    {
        Console.WriteLine("Even");
    }
}
}
 
// This code has been contributed
// by PrinciRaj1992

Javascript

<script>
 
// JavaScript program to check length
// of a given linklist
 
 
    // Defining structure
     class Node {
            constructor() {
                this.data = 0;
                this.next = null;
            }
        }
    // Function to check the length of linklist
    function LinkedListLength( head) {
        while (head != null && head.next != null) {
            head = head.next.next;
        }
        if (head == null)
            return 0;
        return 1;
    }
 
    // Push function
    function push( head , info) {
        // Allocating 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
     
         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);
        var check = LinkedListLength(head);
 
        // Checking for length of
        // linklist
        if (check == 0) {
            document.write("Odd");
        } else {
            document.write("Even");
        }
 
// This code contributed by umadevi9616
 
</script>

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 *