将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

示例:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4


 1 class Solution {
 2 public:
 3     ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
 4         if(l1== 0)
 5             return l2;
 6             if(l2 == 0)
 7                 return l1;
 8        ListNode *p = new ListNode(-1);
 9         ListNode *ps = p;
10         while(l1!=0 &&l2!=0)
11         {
12             if(l1->val <= l2->val)
13             {
14                 p->next = l1;
15                 l1 = l1->next;   
16             }
17             else
18             {
19                 p->next = l2;
20                 l2 = l2->next;   
21             } 
22             p=p->next;
23         }
24         if(l1!=0)
25         {
26             p->next = l1;
27         }
28         if(l2!=0)
29         {
30             p->next = l2;
31         }
32         return ps->next;
33     }
34 };

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄