画图画图:
方法一:无哨兵头
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){
//创建新链表的头指针和一个前驱指针
struct ListNode*head=NULL,*tail=NULL;
//先判断两个链表是否为空
if(list1==NULL)
return list2;
if(list2==NULL)
return list1;
while(list1 && list2)
{
if(list1->val<list2->val)
{
if(head==NULL)
{
head=tail=list1;
}
else
{
tail->next=list1;
tail=tail->next;
}
list1=list1->next;
}
else
{
if(head==NULL)
{
head=tail=list2;
}
else
{
tail->next&