Re: [閒聊] 每日LeetCode已回收

看板Marginalman作者 (神楽めあ的錢包)時間1年前 (2024/02/19 18:56), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串694/719 (看更多)
148. Sort List 給兩個single linked list請將這兩個linked list合併在一起,並且由小到大排列 思路:  就是考merge sort C code: /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* merge (struct ListNode* list1, struct ListNode* list2){ struct ListNode* res=(struct ListNode*)calloc(1,sizeof(struct ListNode)); struct ListNode* temp=res; while (list1 && list2){ if(list1->val<list2->val){ temp->next=list1; list1=list1->next; }else{ temp->next=list2; list2=list2->next; } temp=temp->next; } if (list1){ temp->next=list1; }else{ temp->next=list2; } return res->next; } struct ListNode* sortList(struct ListNode* head) { if (!head || !(head->next)){ return head; } struct ListNode* slow=head,*fast=head,*pre; while(fast && (fast->next)){ pre=slow; fast=fast->next->next; slow=slow->next; } pre->next=NULL; return merge(sortList(slow),sortList(head)); } 繼續騙p幣 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.160.113 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1708340168.A.95F.html
文章代碼(AID): #1bqpF8bV (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1bqpF8bV (Marginalman)