leetcode725

博客给出了LeetCode725题分割链表的Python代码实现。通过遍历链表得到节点总数N,计算出每个部分的大小和余数,再根据余数和大小将链表分割成k个部分,最后返回分割后的链表列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1 class Solution:
 2     def splitListToParts(self, root: 'ListNode', k: int) -> 'List[ListNode]':
 3         N = 0
 4         cur = root
 5         while cur != None:
 6             N += 1
 7             cur = cur.next
 8         mod = N % k
 9         size = N // k
10         ret = []
11         cur = root
12         i = 0
13         while i < k:
14             if cur != None:
15                  ret.append(cur)
16             else:
17                 ret.append([])
18             apdx = 1 if mod > 0 else 0
19             mod -= 1
20             curSize = size + apdx
21             for j in range(curSize-1):
22                 cur = cur.next
23             if cur != None:
24                 nexNode = cur.next
25                 cur.next = None
26                 cur = nexNode
27             i += 1
28         return ret

 

转载于:https://www.cnblogs.com/asenyang/p/11067771.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值