Re: [閒聊] 每日leetcode

看板Marginalman作者 (小惠我婆)時間1月前 (2024/03/20 11:24), 1月前編輯推噓1(105)
留言6則, 5人參與, 1月前最新討論串64/231 (看更多)
※ 引述《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; } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.155.122 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1710905065.A.BE7.html

03/20 11:25, 1月前 , 1F
隨便寫 大師
03/20 11:25, 1F

03/20 11:25, 1月前 , 2F
大師
03/20 11:25, 2F

03/20 11:25, 1月前 , 3F
你們這些C仔獸有想過我Rust寫linked list的心情嗎
03/20 11:25, 3F

03/20 11:26, 1月前 , 4F
哥 你mem leak了
03/20 11:26, 4F

03/20 11:26, 1月前 , 5F
大師 對不起:(
03/20 11:26, 5F

03/20 11:29, 1月前 , 6F
我一堆奇技淫巧functuon都不知道怎麼用
03/20 11:29, 6F
※ 編輯: NCKUEECS (1.200.155.122 臺灣), 03/20/2024 11:30:01
文章代碼(AID): #1b-bRfld (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1b-bRfld (Marginalman)