
class Solution {
public:
ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
if(list1 == NULL){return list2;}
if(list2 == NULL){return list1;}
ListNode* point =nullptr;
if( list1->val > list2->val){
point = list2;
list2 = list2->next;
}else{
point = list1;
list1 = list1->next;
}
ListNode* Head =point;
while(list1 && list2){
if( list1->val > list2->val){
point->next = list2;
list2 = list2->next;
point = point->next;
}else{
point->next = list1;
list1 = list1->next;
point = point->next;
}
}
if(list1!= nullptr){point->next = list1;}
if(list2!= nullptr){point->next = list2;}
return Head;
}
};