Challenge: Union & Intersection of Linked Lists - Hashing

Let’s try and implement the union and intersection on two linked lists.

Problem Statement

Union and intersection are two of the most popular operations which can be performed on data sets. Now, you will be implementing them for linked lists! Let’s take a look at their definitions:

Union

Given two lists, A and B, the union is the list that contains elements or objects that belong to either A, B, or to both.

Intersection

Given two lists, A and B, the intersection is the largest list which contains all the elements that are common to both the sets.

The union function will take two linked lists and return their union.

The intersection function will return all the elements that are common between two linked lists.

You have already seen this in Challenge: Union & Intersection of Linked Lists. Here you would use HashTables for a more efficient solution.

Input

Two linked lists.

Output

  • A list containing the union of the two lists.
  • A list containing the intersection of the two lists.

Sample Input

list1 = 10->20->80->60
list2 = 15->20->30->60->45

Sample Output

union = 10->20->80->60->15->30->45
intersection = 20->60

Level up your interview prep. Join Educative to access 70+ hands-on prep courses.