Simple pythonic solution. Beats 100%
\ndef get_length(root):\n    ans = 0\n    while root is not None:\n        root = root.next\n        ans += 1\n    return ans\n\nclass Solution:\n    def splitL
```\ndef get_length(root):\n    ans = 0\n    while root is not None:\n        root = root.next\n        ans += 1\n    return ans\n\nclass Solution:\n    def splitListToParts(self, root, k):\n        ans = [None]*k\n        cur = root\n        length = get_length(root)\n        \n        for i in range(k):\n            no_elems = (length // k) + (1 if i < (length % k) else 0)\n            for j in range(no_elems):\n                if j == 0:\n                    ans[i] = cur\n\n                if j == no_elems - 1:\n                    temp = cur.next\n                    cur.next = None\n                    cur = temp\n                else:\n                    cur = cur.next\n        \n        return ans\n```
[]