Because of the merge sort, we need to keep splitting the list. Thus we need O(log(n) memory to store all the list heads.
What is your question? Could you please frame your sentence into a proper, answerable question?
Try not to use recursion.
You can easily simulate a merge sort from bottom to top.
Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.