برنامه نویسی

1669 ادغام بین لیست های پیوندی – Leetcode

رویکرد

  • گره را در اندیس a – 1 و b پیدا کنید
  • بعدی گره را در شاخص قرار دهید
  • آخرین گره لیست2 را پیدا کنید
  • بعد از آخرین گره لیست 2 را به بعد از گره در شاخص b تنظیم کنید
  • سر لیست را برگردانید

پیچیدگی

پیچیدگی زمانی: O(n)

پیچیدگی فضا: O(1)

کد جاوا

class Solution {
    public ListNode mergeInBetween(ListNode list1, int a, int b, ListNode list2) {
        ListNode start = list1;
        ListNode end = list1;
        for (int i = 0; i < a - 1; i++) {
            start = start.next;
        }
        for (int i = 0; i < b; i++) {
            end = end.next;
        }
        start.next = list2;
        while (list2.next != null) {
            list2 = list2.next;
        }
        list2.next = end.next;
        return list1; 
    }
}

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا