Monday 27 September 2021

Merge In Between Linked Lists - LeetCode 1669

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

Remove list1's nodes from the ath node to the bth node, and put list2 in their place.

The blue edges and nodes in the following figure incidate the result:

Build the result list and return its head.

 

Example 1:

Input: list1 = [0,1,2,3,4,5], a = 3, b = 4, list2 = [1000000,1000001,1000002]
Output: [0,1,2,1000000,1000001,1000002,5]
Explanation: We remove the nodes 3 and 4 and put the entire list2 in their place. The blue edges and nodes in the above figure indicate the result.

Example 2:

Input: list1 = [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]
Explanation: The blue edges and nodes in the above figure indicate the result.

 

Solutions(Only function):

class Solution {

    public ListNode mergeInBetween(ListNode l1, int a, int b, ListNode l2) {

        

        ListNode curr=l1;

        ListNode d0=null,e0=null;

        int flag=0,count=1;  

        while(curr!=null)

        {

            if(count==a)

                d0=curr;

            if(count==b)

                e0=curr.next.next;

            

            curr=curr.next;

            ++count;

        }

        d0.next=l2;

        curr=l2;

        

        while(curr.next!=null)

        {

            curr=curr.next;

        }

        curr.next=e0;

        

        return l1;

    }

    

}

No comments:

Post a Comment

Random password generator in Java

       Random password generator in Java Source code: mport java.io.*; import java.util.*; public class Main { public static void main(Str...