LeetCode 21. Merge Two Sorted Lists

     转载请注明出处: http://www.cnblogs.com/gufeiyang

   个人微博:flysea_gu

题意:

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.

思路: 两个有序链表归并,没啥说的,唯一要说的,ptr指针不要忘记后移

/** * 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 *root = new ListNode(0); ListNode * ptr = root; while(l1!=NULL && l2!=NULL) { if(l1->val <= l2->val) { ptr->next = l1; l1 = l1->next; } else { ptr->next = l2; l2 = l2->next; } ptr = ptr->next; } while(l1) { ptr->next = l1; l1 = l1->next; ptr = ptr->next; } while(l2) { ptr->next = l2; l2 = l2->next; ptr = ptr->next; } ptr = root->next; delete root; return ptr; } };
View Code

 

你可能感兴趣的:(LeetCode 21. Merge Two Sorted Lists)