Re: [閒聊] 每日leetcode

看板Marginalman作者 (死肥肥社管)時間1年前 (2024/09/08 09:24), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串823/1548 (看更多)
725. Split Linked List in Parts 問題: 給一linked list 要分成k組 思路: 先算出長度n 每組n/k個 有n%k個組會多1個 每次loop 就push每組的頭 讓每組的尾巴=nullptr class Solution { public: vector<ListNode*> splitListToParts(ListNode* head, int k) { vector<ListNode*> ans; int n = 0; ListNode* cur = head; while(cur != nullptr){ n++; cur = cur->next; } int partSize = n / k, partExtra = n > k ? n % k : 0; cur = head; while(ans.size() < k){ ans.push_back(cur); int steps = ans.size() <= partExtra ? partSize : partSize-1; while(cur && steps-- > 0){ cur = cur->next; } if(cur != nullptr){ ListNode* partEnd = cur; cur = cur->next; partEnd->next= nullptr; } } return ans; } }; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.222.80 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1725758653.A.12E.html
文章代碼(AID): #1ctFoz4k (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1ctFoz4k (Marginalman)