【Leetcode】【C语言】【合并两个升序单链表】

【Leetcode】【C语言】【合并两个升序单链表】_第1张图片

struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) {
    struct ListNode* ps=( struct ListNode*)malloc(sizeof(struct ListNode));
     struct ListNode* tmp=ps;
    if(list1==NULL)
     return list2;
     if(list2==NULL) 
     return list1;
     while(list1&&list2)
     {
         if(list1->val<=list2->val)
         {
             tmp->next=list1;
             list1=list1->next;
         }
         else
         {
             tmp->next=list2;
             list2=list2->next;
         }
         tmp=tmp->next;
     }
     if(list1==NULL)
     {
         tmp->next=list2;
     }
     if(list2==NULL)
     {
         tmp->next=list1;
     }
     return  ps->next;  
}

你可能感兴趣的:(leetcode,c语言,服务器,数据结构,笔记,学习,学习方法)