合并两个排序链表
一、题目
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。
leetcode:https://leetcode.cn/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/
二、思路
简单,注意开始的指向和结束的指向
三、code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
class Solution { public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if (l1 == NULL) return l2; if (l2 == NULL) return l1; ListNode* res = NULL; if (l1->val < l2->val) { res = l1; l1 = l1->next; } else { res = l2; l2 = l2->next; } ListNode* tmp = res; for (; l1 != NULL && l2 != NULL;) { if (l1->val < l2->val) { tmp->next = l1; l1 = l1->next; } else { tmp->next = l2; l2 = l2->next; } tmp = tmp->next; } for (; l1 != NULL;) { tmp->next = l1; tmp = tmp->next; l1 = l1->next; } for (; l2 != NULL;) { tmp->next = l2; tmp = tmp->next; l2 = l2->next; } return res; } };
|