class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
ListNode *ret,*ret_head,*l1_pt = l1,*l2_pt = l2;
if(l1 == NULL) return l2;
if(l2 == NULL) return l1;
if(l1->val < l2->val) {
ret_head = l1;l1_pt = l1->next;
}
else {
ret_head = l2;l2_pt = l2->next;
}
ret = ret_head;
while(1)
{
if(l1_pt == NULL) {
ret->next = l2_pt;break;
}
if(l2_pt == NULL){
ret->next = l1_pt;break;
}
if(l1_pt->val < l2_pt->val)
{
ret->next = l1_pt;
l1_pt = l1_pt->next;
}
else {
ret->next = l2_pt;
l2_pt = l2_pt->next;
}
ret = ret->next;
}
return ret_head;
}
};
二路有序链表合并
LeetCode 21. Merge Two Sorted Lists
最新推荐文章于 2024-04-03 21:24:25 发布