[Leetcode] Merge Two Sorted Lists

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.

没啥好说的。

 1 /**

 2  * Definition for singly-linked list.

 3  * struct ListNode {

 4  *     int val;

 5  *     ListNode *next;

 6  *     ListNode(int x) : val(x), next(NULL) {}

 7  * };

 8  */

 9 class Solution {

10 public:

11     ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {

12         ListNode *res;

13         ListNode *p = new ListNode(0);

14         res = p;

15         while (l1 != NULL && l2 != NULL) {

16             if (l1->val < l2->val) {

17                 p->next = l1;

18                 l1 = l1->next;

19             } else {

20                 p->next = l2;

21                 l2 = l2->next;

22             }

23             p = p->next;

24         }

25         if (l1 != NULL) {

26             p->next = l1;

27         }

28         if (l2 != NULL) {

29             p->next = l2;

30         }

31         return res->next;

32     }

33 };

 

你可能感兴趣的:(LeetCode)