Mid/SeniorLinked List

Merge In Between Linked Lists

You are given two linked lists, list1 and list2, of sizes n and m respectively.

Remove list1's nodes from the a^th node to the b^th node, and put list2 in their place.

Build the result list and return its head.

Example 1
[10] -> [1] -> [13] -> [6] -> [9] -> [5] -> null
[1000000] -> [1000001] -> [1000002] -> null
---
[10] -> [1] -> [13] -> [1000000] -> [1000001] -> [1000002] -> [5] -> null
Inputlist1 = [10,1,13,6,9,5], a = 3, b = 4, list2 = [1000000,1000001,1000002]
Output[10,1,13,1000000,1000001,1000002,5]
We remove the nodes 3 and 4 and put the entire list2 in their place.
Example 2
[0] -> [1] -> [2] -> [3] -> [4] -> [5] -> [6] -> null
[1000000] -> [1000001] -> [1000002] -> [1000003] -> [1000004] -> null
---
[0] -> [1] -> [1000000] -> [1000001] -> [1000002] -> [1000003] -> [1000004] ->
[6] -> null
Inputlist1 = [0,1,2,3,4,5,6], a = 2, b = 5, list2 = [1000000,1000001,1000002,1000003,1000004]
Output[0,1,1000000,1000001,1000002,1000003,1000004,6]
Nodes from index 2 through 5 are removed from list1, and list2 is inserted in their place.

Constraints

  • 3 <= list1.length <= 10^4
  • 1 <= a <= b < list1.length - 1
  • 1 <= list2.length <= 10^4

Asked at 11 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate