LeetCode 021 Merge Two Sorted Lists

来源:互联网 发布:数据存储格式 编辑:程序博客网 时间:2024/06/01 21:44

题目要求将两个有序链表l1、l2合并成一个有序链表。并且新链表中要使用原有的节点,不另开空间。

链表操作,贴代码更清楚:

    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {        if(!l1)            return l2;        else if(!l2)            return l1;        else if(l1->val > l2->val) {            ListNode* t = l1;            l1 = l2;            l2 = t;        }        ListNode* head = l1;        ListNode* cur;        while(l1 != NULL && l2 != NULL) {            while(l2 && l1->next && l1->next->val < l2->val) {                l1 = l1->next;            }            cur = l2->next;            l2->next = l1->next;            l1->next = l2;            l2 = cur;        }        return head;    }
0 0
原创粉丝点击