Dos listas enlazadas son idénticas cuando tienen los mismos datos y la disposición de los datos también es la misma. Por ejemplo, las listas enlazadas a (1->2->3) yb(1->2->3) son idénticas. . Escribe una función para verificar si las dos listas enlazadas dadas son idénticas.
Método (recursivo):
el código de solución recursivo es mucho más limpio que el código iterativo. Sin embargo, probablemente no desee utilizar la versión recursiva para el código de producción, ya que utilizará el espacio de pila que es proporcional a la longitud de las listas.
Javascript
<script> // A recursive javascript method to check if // two linked lists are identical or not function areIdenticalRecur(a, b) { // If both lists are empty if (a == null && b == null) return true; // If both lists are not empty, then // data of current nodes must match, // and same should be recursively true // for rest of the nodes. if (a != null && b != null) return (a.data == b.data) && areIdenticalRecur(a.next, b.next); // If we reach here, then one of the lists // is empty and other is not return false; } /* Returns true if linked lists a and b are identical, otherwise false */ function areIdentical( listb) { return areIdenticalRecur(this.head, listb.head); } // This code contributed by aashish1995 </script>
Complejidad de tiempo: O(n) para versiones iterativas y recursivas. n es la longitud de la lista más pequeña entre a y b.
Consulte el artículo completo sobre listas vinculadas idénticas 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