輸入兩個遞增的鏈表,單個鏈表的長度為n,合并這兩個鏈表并使新鏈表中的節點仍然是遞增排序的。
如輸入{1,3,5},{2,4,6}時,合并后的鏈表為{1,2,3,4,5,6},所以對應的輸出為{1,2,3,4,5,6},轉換過程如下圖所示:
class Solution {public:
ListNode *Merge(ListNode *pHead1, ListNode *pHead2) {if (pHead1 == nullptr || pHead2 == nullptr)
return pHead1;
ListNode *dummy = new ListNode;//額外設置一個節點
ListNode *s = dummy;
ListNode *p1 = pHead1;
ListNode *p2 = pHead2;
while (p1 && p2) {if (p2->val >= p1->val) {s->next = p1;
s = s->next;
p1 = p1->next;
} else {s->next = p2;
s = s->next;
p2 = p2->next;
}
}
if (p1 == nullptr)
s->next = p2;
if (p2 == nullptr)
s->next = p1;
return dummy->next;
}
};
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧