LeetCode_21

来源:互联网 发布:贝叶斯网络分析软件 编辑:程序博客网 时间:2024/04/26 05:24


/** * Definition for singly-linked list. * struct ListNode { *     int val; *     struct ListNode *next; * }; */struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2) {    if(l1 == NULL && l2 == NULL)        return NULL;    if(l1 == NULL || l2 == NULL){        if(l1 == NULL)            return l2;        if(l2 == NULL)            return l1;    }    struct ListNode* newNode;    struct ListNode* resultNode;    struct ListNode* node1 = l1;    struct ListNode* node2 = l2;    if(node1->val <= node2->val){        newNode = node1;        resultNode = node1;        node1 = node1->next;    }    else{        newNode = node2;        resultNode = node2;        node2 = node2->next;    }    while(node1 && node2){        if(node1 -> val <= node2->val){            newNode->next = node1;            newNode = newNode->next;            node1 = node1->next;        }        else{            newNode->next = node2;            newNode = newNode->next;            node2 = node2->next;        }    }    while(node1){        newNode->next = node1;        newNode = newNode->next;        node1 = node1->next;            }    while(node2){        newNode->next = node2;        newNode = newNode->next;        node2 = node2->next;    }    return resultNode;}


0 0
原创粉丝点击