暑假第一天:
合并两个有序链表:
首先建立一个哑节点。
ListNode prehead = new ListNode(-1) //新建哑节点,值为-1
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
具体的题目的代码:
class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
ListNode* heat=new ListNode(-1);
ListNode* p=heat;
while(l1!=nullptr&&l2!=nullptr)
{
if(l1->val<=l2->val)
{
p->next=l1;
l1=l1->next;
}
else
{
p->next=l2;
l2=l2->next;
}
p=p->next;
}
p->next = l1 == nullptr ? l2 : l1;
return heat->next;
}
};
最后一行必须是
heat->next;
不然头结点的-1也会被输出。