LeetCode 21.合并两个有序链表

我的思路

新建一个头节点
比较已有的两个有序链表,将值小的接到新建的头节点后
被接了的节点向后一个
最后会有剩下的,直接接到尾部。因为剩下的这部分比之前的都大。

ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
        ListNode *h = new ListNode(-1);
        ListNode *result = h;
        while(l1 && l2 ){
            if(l1->val <= l2->val){
                h->next = l1;
                h = h->next;
                l1 = l1->next;
            }else{
                h->next = l2;
                h = h->next;
                l2 = l2->next;
            }
        }
        if(l1)  h->next = l1;
        if(l2)  h->next = l2;
        return result->next;
}

猜你喜欢

转载自blog.csdn.net/qq_31755927/article/details/89034590