merge-two-sorted-lists

来源:互联网 发布:淘宝网原味内裤 编辑:程序博客网 时间:2024/06/05 20:10

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.

非常容易想到的思路,定义两个指针一个一个比较,连起来。在剑指offer里同样见过的一个题,自己写出来和之前看的代码一模一样~

/** * 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) {        if(l1==NULL)            return l2;        if(l2==NULL)            return l1;        ListNode *dummy = new ListNode(0);        ListNode *temp = dummy;        while(l1!=NULL && l2!=NULL){            if(l1->val < l2->val){                temp->next = l1;                l1 = l1->next;            }            else{                temp->next = l2;                l2 = l2->next;            }            temp = temp->next;        }        if(l1!=NULL)            temp->next = l1;        if(l2!=NULL)            temp->next = l2;        return dummy->next;    }};
原创粉丝点击