Dada una lista enlazada individualmente y un número k, encuentre el último Node cuyo n%k == 0, donde n es el número de Nodes en la lista.
Ejemplos:
C++
// C++ program to find modular node in a linked list #include <bits/stdc++.h> /* Linked list node */ struct Node { int data; Node* next; }; /* Function to create a new node with given data */ Node* newNode(int data) { Node* new_node = new Node; new_node->data = data; new_node->next = NULL; return new_node; } /* Function to find modular node in the linked list */ Node* modularNode(Node* head, int k) { // Corner cases if (k <= 0 || head == NULL) return NULL; // Traverse the given list int i = 1; Node* modularNode = NULL; for (Node* temp = head; temp != NULL; temp = temp->next) { if (i % k == 0) modularNode = temp; i++; } return modularNode; } /* Driver program to test above function */ int main(void) { Node* head = newNode(1); head->next = newNode(2); head->next->next = newNode(3); head->next->next->next = newNode(4); head->next->next->next->next = newNode(5); int k = 2; Node* answer = modularNode(head, k); printf("\nModular node is "); if (answer != NULL) printf("%d\n", answer->data); else printf("null\n"); return 0; }
Java
// A Java program to find modular node in a linked list public class GFG { // A Linkedlist node static class Node{ int data; Node next; Node(int data){ this.data = data; } } // Function to find modular node in the linked list static Node modularNode(Node head, int k) { // Corner cases if (k <= 0 || head == null) return null; // Traverse the given list int i = 1; Node modularNode = null; for (Node temp = head; temp != null; temp = temp.next) { if (i % k == 0) modularNode = temp; i++; } return modularNode; } // Driver code to test above function public static void main(String[] args) { Node head = new Node(1); head.next = new Node(2); head.next.next = new Node(3); head.next.next.next = new Node(4); head.next.next.next.next = new Node(5); int k = 2; Node answer = modularNode(head, k); System.out.print("Modular node is "); if (answer != null) System.out.println(answer.data); else System.out.println("null"); } } // This code is contributed by Sumit Ghosh
Python3
# Python3 program to find modular node # in a linked list import math # Linked list node class Node: def __init__(self, data): self.data = data self.next = None # Function to create a new node # with given data def newNode(data): new_node = Node(data) new_node.data = data new_node.next = None return new_node # Function to find modular node # in the linked list def modularNode(head, k): # Corner cases if (k <= 0 or head == None): return None # Traverse the given list i = 1 modularNode = None temp = head while (temp != None): if (i % k == 0): modularNode = temp i = i + 1 temp = temp.next return modularNode # Driver Code if __name__ == '__main__': head = newNode(1) head.next = newNode(2) head.next.next = newNode(3) head.next.next.next = newNode(4) head.next.next.next.next = newNode(5) k = 2 answer = modularNode(head, k) print("Modular node is", end = ' ') if (answer != None): print(answer.data, end = ' ') else: print("None") # This code is contributed by Srathore
C#
// C# program to find modular node in a linked list using System; class GFG { // A Linkedlist node public class Node { public int data; public Node next; public Node(int data) { this.data = data; } } // Function to find modular node in the linked list static Node modularNode(Node head, int k) { // Corner cases if (k <= 0 || head == null) return null; // Traverse the given list int i = 1; Node modularNode = null; for (Node temp = head; temp != null; temp = temp.next) { if (i % k == 0) modularNode = temp; i++; } return modularNode; } // Driver code public static void Main(String[] args) { Node head = new Node(1); head.next = new Node(2); head.next.next = new Node(3); head.next.next.next = new Node(4); head.next.next.next.next = new Node(5); int k = 2; Node answer = modularNode(head, k); Console.Write("Modular node is "); if (answer != null) Console.WriteLine(answer.data); else Console.WriteLine("null"); } } // This code is contributed by Rajput-JI
Javascript
<script> // A JavaScript program to find // modular node in a linked list // A Linkedlist node class Node { constructor(val) { this.data = val; this.next = null; } } // Function to find modular node in the linked list function modularNode(head , k) { // Corner cases if (k <= 0 || head == null) return null; // Traverse the given list var i = 1; var modularNode = null; for (temp = head; temp != null; temp = temp.next) { if (i % k == 0) modularNode = temp; i++; } return modularNode; } // Driver code to test above function var head = new Node(1); head.next = new Node(2); head.next.next = new Node(3); head.next.next.next = new Node(4); head.next.next.next.next = new Node(5); var k = 2; var answer = modularNode(head, k); document.write("Modular node is "); if (answer != null) document.write(answer.data); else document.write("null"); // This code contributed by Rajput-Ji </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