题解 | #合并k个已排序的链表#

合并k个已排序的链表

https://www.nowcoder.com/practice/65cfde9e5b9b4cf2b6bafa5f3ef33fa6

#include <stdio.h>
struct ListNode* Merge(struct ListNode* pHead1, struct ListNode* pHead2 ) {
    struct ListNode* head = NULL;
    struct ListNode* tmp = NULL;
    if (pHead1 == NULL) {
        return pHead2;
    }
    if (pHead2 == NULL) {
        return pHead1;
    }
    if (pHead1->val < pHead2->val) {
        head = pHead1;
        pHead1 = pHead1->next;
    } else {
        head = pHead2;
        pHead2 = pHead2->next;
    }
    tmp = head;


    while (tmp) {
        if (pHead1 == NULL) {
            tmp->next = pHead2;
            break;
        }
        if (pHead2 == NULL) {
            tmp->next = pHead1;
            break;
        }
        if (pHead1->val < pHead2->val) {
            tmp->next = pHead1;
            pHead1 = pHead1->next;
        } else {
            tmp->next = pHead2;
            pHead2 = pHead2->next;
        }
        tmp = tmp->next;
    }
    return head;
}
struct ListNode* mergeKLists(struct ListNode** lists, int listsLen ) {
    
    int index = 0;
    struct ListNode* head = NULL;
    if(listsLen==1)
    {
        return lists[0];
    }
    for(index=0;index<listsLen;index++)
    {
        head = Merge(head, lists[index]);
    }
    return head;
}

全部评论

相关推荐

兄弟们,实习都是在接各种api,该怎么包装简历
仁者伍敌:感觉我自己做小项目也是各种api啊,我要怎么包装简历
点赞 评论 收藏
分享
风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
牛客90772103...:格林美(无锡)
点赞 评论 收藏
分享
07-02 13:52
武汉大学 golang
骗你的不露头也秒
牛客87776816...:😃查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务