【leetcode】Merge Two Sorted Lists(easy)

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.

 

思路:使用伪头部

class Solution {

public:

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

        ListNode fakehead(0);

        ListNode *p1 = l1;

        ListNode *p2 = l2;

        ListNode *pnew = &fakehead;



        while(p1 != NULL && p2 != NULL)

        {

            if(p1->val < p2->val)

            {

                pnew->next = p1;

                p1 = p1->next;

            }

            else

            {

                pnew->next = p2;

                p2 = p2->next;

            }

            pnew = pnew->next;

        }

        if(p1 != NULL)

        {

            pnew->next = p1;

        }

        if(p2 != NULL)

        {

            pnew->next = p2;

        }



        return fakehead.next;

    }

};

 

你可能感兴趣的:(LeetCode)