Simple Python solution with detailed comments.
\n# Definition for singly-linked list.\n# class ListNode(object):\n#     def __init__(self, x):\n#         self.val = x\n#         self.next = None\n\nclass Sol
```\n# Definition for singly-linked list.\n# class ListNode(object):\n#     def __init__(self, x):\n#         self.val = x\n#         self.next = None\n\nclass Solution(object):\n    def splitListToParts(self, root, k):\n        """\n        :type root: ListNode\n        :type k: int\n        :rtype: List[ListNode]\n        """\n        res = []\n        leng = 0\n        main_curr = root\n        \n\t\t# Find total length of linked list\n        while main_curr:\n            leng += 1\n            main_curr = main_curr.next\n        \n\t\t# Reset pointer\n        main_curr = root\n         \n        q = leng // k # q is the number of equal length linked lists\n        r = leng % k  # r is the number of extra nodes which need to distributed\n        prev = None # pointer to keep track of nodes used in splitting linked list\n        \n        for _ in range(k): # Go over K splits\n            if main_curr:    # Check for None. If None,  we just add None to result because we have no more nodes to split\n                res.append(main_curr)\n                if r > 0:        # If more that 1 extra nodes are present. \n                    parts = q + 1  # Add the extra node count to equal part distribution\n                    r -= 1            # Reduce the extra nodes by 1 since we just added one above\n                else:\n                    parts = q     # No extra nodes to add. Its same as the equal split.\n                for _ in range(parts):  # Go over the number of splitable node count\n                    prev = main_curr   # Store curr reference\n                    main_curr = main_curr.next  # Go to next\n                prev.next = None      # End of loop, we would have covered the equal split + extra distribution count if any. So, its time to split the current partitioned linked list.\n            else:\n                res.append(None)  # Cause when we have no more nodes\n\n        return res  # Return result\n```
[]