剑指Offer(16)______合并两个排序的链表

来源:互联网 发布:淘宝直通车删除计划 编辑:程序博客网 时间:2024/06/05 06:43

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。


class Solution {public:    ListNode* Merge(ListNode* l1, ListNode* l2)    {        if(l1 == NULL)return l2;      //鲁棒性:链表不能为空        if(l2 == NULL)return l1;      //鲁棒性:链表不能为空                   ListNode* head,*p;         if(l1->val > l2->val){             head = l2;             l2 = l2->next;         }else{             head = l1;             l1 = l1->next;         }         p = head;         p->next = NULL;                    while(l1 != NULL && l2 != NULL){             if(l1->val < l2->val){                 p->next = l1;                 p = l1;                 l1 = l1->next;             }else{                 p->next = l2;                 p = l2;                 l2 = l2->next;             }         }         if(l1 != NULL)             p->next = l1;         if(l2 != NULL)             p->next = l2;         return head;     }};



0 0