1. 程式人生 > 實用技巧 >leetcode 85:merge-two-sorted-lists

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 }