剑指offer(25)


剑指offer(25)

剑指 Offer 25. 合并两个排序的链表

输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。

示例1:

输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4

限制:

0 <= 链表长度 <= 1000

经典题目

class Solution {
public:
    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
        //虚拟头节点
        ListNode* dummy=new ListNode(-1);
        ListNode* p=dummy;
        ListNode* p1=l1;
        ListNode* p2=l2;
        while(p1!=NULL&&p2!=NULL){
            if(p1->valval){
                p->next=p1;
                p=p->next;
                p1=p1->next;
            }else{
                p->next=p2;
                p=p->next;
                p2=p2->next;
            }
        }
            if(p1==NULL&&p2!=NULL){
                p->next=p2;
            }
            if(p1!=NULL&&p2==NULL){
                p->next=p1;
            }
        return dummy->next;
    }
};