class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
if(!l1 && !l2) return NULL;
if(l1 && !l2) return l1;
if(!l1 && l2) return l2;
ListNode *p1 = l1;
ListNode *ppre1 = l1;
ListNode *p2 = l2;
ListNode *ppre2 = l2;
ListNode *head = p1->val <= p2->val ? p1 : p2;
while(p1 && p2) {
if(p1->val <= p2->val) {
while(p1 && p1->val <= p2->val) {
ppre1 = p1;
p1 = p1->next;
}
ppre1->next = p2;
}
else if(p1->val > p2->val) {
while(p2 && p2->val <= p1->val) {
ppre2 = p2;
p2 = p2->next;
}
ppre2->next = p1;
}
}
return head;
}
};
leetcode 合并两个有序链表
最新推荐文章于 2022-03-18 16:33:39 发布