我的思路
新建一个头节点
比较已有的两个有序链表,将值小的接到新建的头节点后
被接了的节点向后一个
最后会有剩下的,直接接到尾部。因为剩下的这部分比之前的都大。
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
ListNode *h = new ListNode(-1);
ListNode *result = h;
while(l1 && l2 ){
if(l1->val <= l2->val){
h->next = l1;
h = h->next;
l1 = l1->next;
}else{
h->next = l2;
h = h->next;
l2 = l2->next;
}
}
if(l1) h->next = l1;
if(l2) h->next = l2;
return result->next;
}