1.描述:
将两个排序链表合并为一个新的排序链表
给出 1->3->8->11->15->null
,2->null
, 返回1->2->3->8->11->15->null
。
3.代码:
if(l1==NULL&&l2==NULL)
{return NULL;}
if(l1==NULL)
{ return l2;}
if(l2==NULL)
{return l1;}
ListNode *first=new ListNode(0);
ListNode *p=first;
while(l1!=NULL&&l2!=NULL){
if(l1->val<=l2->val)
{first->next=l1;
first=l1;
l1=l1->next;}
else
{first->next=l2;
first=l2;
l2=l2->next;
}
}
if(l1!=NULL)
{first->next=l1;}
if(l2!=NULL)
{first->next=l2;}
return p->next;
}
4.感想:
做这个题最大的感想就是一定要考虑到空节点不能再指向下一节点,不然就会无止境的runtime error!