Re: [闲聊] 每日leetcode

楼主: argorok (s.green)   2024-09-08 09:24:09
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

Links booklink

Contact Us: admin [ a t ] ucptt.com