||  simple java solution || beats 100%  ||
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```java []\nclass Solution {\n    public ListNode[] splitListToParts(ListNode head, int k) {\n        ListNode[] ans = new ListNode[k];\n        int count = 0;\n        ListNode current = head;\n        while (current != null) {\n            count++;\n            current = current.next;\n        }\n        current = head;\n        int ps = count / k; // ps=partsize\n        int ep = count % k; // ep=extrapart\n        for (int i = 0; i < k; i++) {\n            if (current == null)\n                ans[i] = null;\n            else {\n                ans[i] = current;\n                int cps = ps + (ep > 0 ? 1 : 0); //cps=current part size\n                ep--;\n                for (int j = 1; j < cps; j++) {\n                    if (current != null) {\n                        current = current.next;\n                    }\n                }\n                if (current != null) {\n                    ListNode np = current.next; // next part\n                    current.next = null;\n                    current = np;\n                }\n\n            }\n        }\n        return ans;\n    }\n}\n```
['Linked List', 'Java']