1Create a new dummy node to serve as the start of the result list
2Compare nodes from both lists and append the smaller one to the result
3Set the next pointer of the last node in the result list to the remaining nodes in either list
4Initialize pointers for both input lists
5Return the next node of the dummy node as the result