思路: 借助dummy头指针,依次比较l1,l2即刻,注意l1,l2指针要迭代。

    1. ListNode *mergeList(ListNode *l1, ListNode *l2) {
    2. if (!l1 || !l2)
    3. return !l1 ? l1 : l2;
    4. ListNode *head = new ListNode();
    5. ListNode *head_tmp = head;
    6. while(l1 && l2) {
    7. if (l1->val < l2->val) {
    8. head->next = l1;
    9. l1 = l1->next;
    10. }else {
    11. head->next = l2;
    12. l2 = l2->next;
    13. }
    14. head = head->next;
    15. }
    16. if (!l1)
    17. head->next = l2;
    18. if (!l2)
    19. head->next = l1;
    20. return head_tmp->next;
    21. }