leetcode第一刷_Merge Two Sorted Lists

来源:互联网 发布:介绍人工智能的小短片 编辑:程序博客网 时间:2024/06/01 19:14

很简单的问题。

唯一比较有挑战的地方可能就是要保证不引入额外的空间,找一个开始值最小的链表当做新链表的头部,把头部从链表中拆下来,其他的操作应该没有问题。

class Solution {public:    ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {        if(l1 == NULL)  return l2;        if(l2 == NULL)  return l1;        if(l1->val>l2->val)            swap(l1, l2);        ListNode *head = l1, *pNode = l1;        l1 = l1->next;        head->next = NULL;        while(l1&&l2){            if(l1->val <= l2->val){                pNode->next = l1;                pNode = l1;                l1 = l1->next;            }else{                pNode->next = l2;                pNode = l2;                l2 = l2->next;            }            pNode->next = NULL;        }        if(l1)            pNode->next = l1;        if(l2)            pNode->next = l2;        return head;    }};


0 0
原创粉丝点击