leetcode雙週賽(2)-合併兩個連結串列

fang0jun發表於2020-11-29

在這裡插入圖片描述

設定兩個指標分別移動到指定結點,再進行操作

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* mergeInBetween(ListNode* list1, int a, int b, ListNode* list2) {
        ListNode* A = list1;
        for(int i = 0; i < a - 1; i++) A = A->next;
        ListNode* B = list1;
        for(int i = 0; i < b + 1; i++) B = B->next;
        ListNode* C = list2;
        while(C ->next != nullptr) C = C->next;

        A->next = list2;
        C->next = B;

        return list1;


    }
};

相關文章