leetcode 85:merge-two-sorted-lists
题目描述
将两个有序的链表合并为一个新链表,要求新的链表是通过拼接两个链表的节点来生成的。
题目分析:
本问题是一个常规问题,先先创建一个表头节点,然后比较给定的两个链表的节点的值,依次连到表头后面(如果一个表已经遍历到尾节点了,另一个表直接连接到新链表的后面即可)。然后返回新表头的下一个节点即可。
代码如下:
1 ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { 2 ListNode* Nodel1 = l1; 3 ListNode* Nodel2 = l2; 4 ListNode* newHead = new ListNode(0); 5 ListNode* cur = newHead; 6 while (Nodel1 != nullptr&&Nodel2 != nullptr) { 7 if (Nodel1->val > Nodel2->val) 8 { 9 cur->next = Nodel2; 10 Nodel2 = Nodel2->next; 11 } 12 else 13 { 14 cur->next = Nodel1; 15 Nodel1 = Nodel1->next; 16 } 17 cur = cur->next; 18 } 19 if (Nodel1 != nullptr) 20 cur->next = Nodel1; 21 if (Nodel2 != nullptr) 22 cur->next = Nodel2; 23 return newHead->next; 24 }