165.2つのソートされたリンクリストをマージする
2つのソートされたリンクリストを新しいソートされたリンクリストの
例に結合します
例1:
入力:list1 = null、list2 = 0-> 3-> 3-> null
出力:0-> 3-> 3-> null
例2:
入力:list1 = 1-> 3-> 8-> 11-> 15-> null、list2 = 2-> null
出力:1-> 2-> 3-> 8-> 11-> 15->ヌル
ListNode * mergeTwoLists(ListNode * l1、ListNode * l2){ //ここにコードを記述します ListNode * head = nullptr; ListNode * p1 = l1; ListNode * p2 = l2; if(p1 == nullptr&p2!= nullptr) { return p2; } if(p1!= nullptr&p2 == nullptr) { return p1; } if(p1 == nullptr&p2 == nullptr) { return nullptr; } if(p1-> val> p2-> val) { head = p2; p2 = p2-> next; } else
{ 頭= p1; p1 = p1-> next; } ListNode * p3 =ヘッド; while(p1!= nullptr && p2!= nullptr) { if(p1-> val> p2-> val) { p3-> next = p2; p2 = p2-> next; p3 = p3-> next; } else { p3-> next = p1; p1 = p1-> next; p3 = p3-> next; } } if(p1!= nullptr) { p3-> next = p1; }
if(p2!= nullptr)
{ p3-> next = p2; } リターンヘッド; }