725. 分隔链表

2021-09-24  本文已影响0人  漫行者_

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;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读