Open In App

Javascript Program To Check If Two Linked Lists Are Identical

Improve
Improve
Like Article
Like
Save
Share
Report

Two Linked Lists are identical when they have the same data and the arrangement of data is also the same. For example, Linked lists a (1->2->3) and b(1->2->3) are identical. . Write a function to check if the given two linked lists are identical.

Method (Recursive): 
Recursive solution code is much cleaner than iterative code. You probably wouldn’t want to use the recursive version for production code, however, because it will use stack space which is proportional to the length of the lists.

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>


Time Complexity: O(n) for both iterative and recursive versions. n is the length of the smaller list among a and b.

Auxiliary Space: O(n) for call stack because using recursion

Please refer complete article on Identical Linked Lists for more details!


Last Updated : 03 Aug, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads