Re: [閒聊] 每日LeetCode

看板Marginalman作者 (caster)時間2年前 (2023/01/02 23:43), 2年前編輯推噓4(404)
留言8則, 6人參與, 2年前最新討論串174/719 (看更多)
21. Merge Two Sorted List 融合兩個排序過的連結串列為一個新的連結串列後回傳。 Example 1: Input: list1 = [1,2,4], list2 = [1,3,4] Output: [1,1,2,3,4,4] Input: list1 = [], list2 = [] Output: [] Input: list1 = [], list2 = [0] Output: [0] 思路: 先確認list1跟list2裡面有沒有東西,前面先分成三種情況,只有兩者皆有東西 ,才會進入迴圈。 迴圈內就比大小進行排序,假如list2大於等於1,n的下一個位子就放list1的值, 反之放list2的值。 之後n前進到下一個位子,直到出現list1或list2其中一者NULL或著兩者皆NULL, 迴圈才結束。 最後確認是否list1跟list2是否都為NULL, 假設一者非NULL,n的下個位子就放入剩餘的list1或list2的數值+指標。 C CODE ---------------------- /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){ struct ListNode* head = NULL; if(list1 != NULL && list2 != NULL){ if((list1->val)<=(list2->val)){ head = list1; list1= list1->next; }else{ head = list2; list2= list2->next; } }else if(list1 != NULL || list2 != NULL){ return (list1!=NULL)?list1:list2; }else{ return NULL; } struct ListNode* n =head; while(list1 != NULL && list2 != NULL){ if((list1->val)<=(list2->val)){ n->next = list1; list1= list1->next; }else{ n->next = list2; list2= list2->next; } n = n->next; } n->next=(list1!=NULL)?list1:list2; return head; } ------------------------ 補記:學到linked list的觀念,不過我不是很懂他跟array的差別。 兩者都資料+pointer,感覺差不多。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.43.91.103 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1672674196.A.780.html

01/02 23:44, 2年前 , 1F
大師
01/02 23:44, 1F

01/02 23:46, 2年前 , 2F
你是物理大師 我物理忘光了
01/02 23:46, 2F

01/02 23:47, 2年前 , 3F
我都不會捏:(
01/02 23:47, 3F

01/02 23:48, 2年前 , 4F
一些操作的時間複雜度有差 像是刪除是O(1)
01/02 23:48, 4F
感謝大師

01/02 23:49, 2年前 , 5F
array O(1)存取O(n)插入 linked list O(1)插入
01/02 23:49, 5F
感謝

01/02 23:51, 2年前 , 6F
#1ZY57zyf (Marginalman) 不是每日一題的用標題加題號吧
01/02 23:51, 6F

01/02 23:51, 2年前 , 7F
標題有LEETCODE的我都會看看 視情況收精華
01/02 23:51, 7F
OK ※ 編輯: sustainer123 (223.137.193.220 臺灣), 01/02/2023 23:53:49

01/03 15:05, 2年前 , 8F
原來會收精華 PogChamp
01/03 15:05, 8F
文章代碼(AID): #1ZilkKU0 (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1ZilkKU0 (Marginalman)