合并两个排序的链表

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

示例1:

输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode mergeTwoLists(ListNode  l1, ListNode l2) {
        if(l1==null||l2==null)
        return l1==null?l2:l1;
        
       ListNode dum = new ListNode(0);//初始化一个空节点,初始赋值为0,指针指向为dum
       ListNode cur=dum;
       while(l1!=null&&l2!=null)
       {
           if(l1.val<l2.val)
           {
               cur.next=l1;
               l1=l1.next;
           }
           else
           {
               cur.next=l2;
               l2=l2.next;
           }
           cur=cur.next;
       }
       cur.next=l1!=null?l1:l2;
       return dum.next;


    }
}

 

上一篇:C++ 排序奇升偶降链表


下一篇:力扣链表题:两数相加问题