Re: [閒聊] 每日leetcode

作者: NCKUEECS (小惠我婆)   2024-03-20 11:24:23
※ 引述《sustainer123 (caster )》之銘言:
: https://leetcode.com/problems/merge-in-between-linked-lists
: 1669. Merge In Between Linked Lists
: 給你兩個鏈表(list1 and list2)與兩個數字(a and b)
: 你需要移除list1中a到b的節點並替換為list2
: Example 1:
: Input: list1 = [10,1,13,6,9,5], a = 3, b = 4, list2 =
: [1000000,1000001,1000002]
: Output: [10,1,13,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.
: 思路:
: 遍歷list1 找到a-1和b+1節點 a-1節點指向list2的開頭
: 遍歷list2 找到list2的結尾 結尾指向b+1節點
: 回傳list1
早上好邊板
現在我有c也能寫的題目
struct ListNode* mergeInBetween(struct ListNode* list1, int a, int b, struct L
istNode* list2){
struct ListNode *dummy_head = malloc(sizeof(struct ListNode));
struct ListNode *start, *end;
int count=0;
dummy_head->next = list1;
while(count!=b+2){
dummy_head = dummy_head->next;
count++;
if(count==a)
start = dummy_head;
}
end = dummy_head;
start->next = list2;
while(list2->next){
list2 = list2->next;
list2->next = end;
return list1;
}
作者: Smallsh (Smallsh)   2024-03-20 11:25:00
隨便寫 大師
作者: JIWP (JIWP)   2024-03-20 11:25:00
大師
作者: yam276 ('_')   2024-03-20 11:25:00
你們這些C仔獸有想過我Rust寫linked list的心情嗎
作者: argorok (s.green)   2024-03-20 11:26:00
哥 你mem leak了
作者: NCKUEECS (小惠我婆)   2024-03-20 11:26:00
大師 對不起:(我一堆奇技淫巧functuon都不知道怎麼用

Links booklink

Contact Us: admin [ a t ] ucptt.com