LeetCode 21. Merge Two Sorted Lists

来源:互联网 发布:ezzy付强 知乎 编辑:程序博客网 时间:2024/06/05 09:24

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.

分析:

题目的意思将将两个已排序的链表合并成一个链表

定义一个链表头指针和连接指针。连接指针用来连接头指针和较小的元素。

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {        ListNode result(1);        ListNode *l=&result;        while(l1!=NULL&&l2!=NULL){            if(l1->val<l2->val){                l->next=l1;                l1=l1->next;                l=l->next;            }else{                l->next=l2;                l2=l2->next;                l=l->next;            } a        }        while(l1!=NULL&&l2==NULL){            l->next=l1;            l1=l1->next;            l=l->next;        }        while(l2!=NULL&&l1==NULL){            l->next=l2;            l2=l2->next;            l=l->next;        }        return result.next;    }};