Categories
Computer Science

Solving Problem: Combine Two Linked Lists

Data Structures – Linked List

Problem Statement:

You are given the heads of two sorted linked lists list1 and list2.

Merge the two lists into one sorted list. The list should be made by splicing together the nodes of the first two lists.

Return the head of the merged linked list.

Example 1:

1 -> 2 -> 4 -> NULL

1 -> 3 -> 4 -> NULL

Expected Output:

1 -> 1 -> 2 -> 3 -> 4 -> 4 -> NULL

Input: list1 = [1,2,4], list2 = [1,3,4]
Output: [1,1,2,3,4,4]

Example 2:

Input: list1 = [], list2 = []
Output: []

Example 3:

Input: list1 = [], list2 = [0]
Output: [0]

Constraints:

  • The number of nodes in both lists is in the range [0, 50].
  • -100 <= Node.val <= 100
  • Both list1 and list2 are sorted in non-decreasing order.

Solution:

Python
# Definition for singly-linked list.
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
class Solution:
def mergeTwoLists(list1, list2):
arr = []
while list1 is not None:
arr.append(list1.val)
list1 = list1.next
while list2 is not None:
arr.append(list2.val)
list2 = list2.next
arr.sort()
temp = ListNode(-1)
curr = temp
for value in arr:
curr.next = ListNode(value)
curr = curr.next
return temp.next
def printList(node):
while node:
print(node.val, end=" -> ")
node = node.next
print("NULL")
if __name__ == "__main__":
head1 = ListNode(1)
head1.next = ListNode(2)
head1.next.next = ListNode(4)
head2 = ListNode(1)
head2.next = ListNode(3)
head2.next.next = ListNode(4)
result = Solution.mergeTwoLists(head1, head2)
printList(result)

Output:

Reference: Merge In Between Linked Lists – LeetCode

Priyanka B.'s avatar

By Priyanka B.

Hello and welcome to my little corner of internet!! I am a techie. I am very interested to discover and innovate new advances in science and technology. Blogging is one of my hobbies which I think is very useful for broadening my knowledge horizons and help me grow my skills. Apart from blogging I have also little taste in artistic skills and literature, which can keep my writing and posts tangy.

Whether you stumbled in by chance or came here on purpose, I hope you find something that sparks your curiosity or makes you think a little deeper. Thanks for stopping by!!

Leave a comment