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     }

 

posted @ 2020-08-11 11:35  请叫我小小兽  阅读(123)  评论(0编辑  收藏  举报