0
点赞
收藏
分享

微信扫一扫

《剑指offer-P23》【剑指Offer 25.合并两个排序的链表】

code_balance 2022-05-03 阅读 38

文章目录


💎一、题目

🏆1.题目描述

🏆2.原题链接

💎二、解题报告

🏆1.思路分析

🏆2.代码详解

struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){
    //带哨兵位
    struct ListNode* head, *tail;
    head = tail = (struct ListNode*)malloc(sizeof(struct ListNode));        //1
    head->next = NULL;

    while(list1 != NULL && list2 != NULL){                                  //2
        if(list1-> val < list2-> val){
            tail->next = list1;
            tail = list1;
            list1 = list1->next;
        }else{
            tail -> next = list2;
            tail = list2;
            list2 = list2->next;
        }
    }
    if(list1 != NULL){                                                      //3
        tail->next = list1;
    }
    if(list2 != NULL){
        tail->next = list2;
    }
    struct ListNode* list = head->next;                                     //4
    free(head);
    return list;                                                            //5
}


举报

相关推荐

0 条评论