725. 分隔链表
初看题目的时候没有思路,第二天再看发现规律就还好,
注意余数和商就🆗了
class Solution {
public ListNode[] splitListToParts(ListNode head, int k) {
ListNode[] result = new ListNode[k];
ListNode p = head;
int length = 0;
while(head != null) {
length++;
head = head.next;
}
int div = length/k;
int yu = length%k;
for(int i=0; i<yu; i++) {
ListNode end = null;
for(int j=0; j<div + 1; j++) {
if(end == null) {
result[i] = p;
} else {
end.next = p;
}
end = p;
p = p.next;
}
end.next = null;
}
for(int i=yu; i<k; i++) {
ListNode end = null;
for(int j=0; j<div; j++) {
if(end == null) {
result[i] = p;
} else {
end.next = p;
}
end = p;
p = p.next;
}
if(end != null) {
end.next = null;
}
}
return result;
}
}
网友评论