برنامه نویسی
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;
}
}