首页 > 代码库 > LeetCode "Merge Two Sorted Lists"
LeetCode "Merge Two Sorted Lists"
Simply care about the boundary cases:
class Solution {public: ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) { if (l1 && !l2) return l1; if (!l1 && l2) return l2; if (!l1 && !l2) return NULL; ListNode *p0 = l1->val <= l2->val ? l1 : l2; ListNode *p1 = p0 == l1 ? l2 : l1; ListNode *pa = p0, *pb = p0->next; ListNode *pc = p1, *pd = p1->next; while (pa && pc) { if (!pb) { pa->next = pc; break; } while (pa->val <= pc->val && pc->val <= pb->val) { // Link pa->next = pc; pc->next = pb; // Move on pc = pd; if (pd) pd = pd->next; pa = pa->next; if (!pc || !pb) break; } pa = pa->next; if(pb) pb = pb->next; } return p0; }};
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。