欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

链表-合并两个有序的链表

程序员文章站 2022-06-26 11:55:32
...

将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例:
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/merge-two-sorted-lists

思路:弄个哑节点

class Solution {
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
         ListNode head=new ListNode(0);
         ListNode cur=head;
         if(l1==null&&l2==null)
           return null;
        if(l1==null)
            return l2;
        if(l2==null)
            return l1;
        while(l1!=null&&l2!=null){
            if(l1.val<=l2.val){
                cur.next=l1;
                cur=cur.next;
                l1=l1.next;
            }
            else
            {
                cur.next=l2;
                cur=cur.next;
                l2=l2.next;
            }
        }
        while(l1!=null){
            cur.next=l1;
            cur=cur.next;
            l1=l1.next;
            
        }
        while(l2!=null){
               cur.next=l2;
            cur=cur.next;
            l2=l2.next;
            
        }
        return head.next;
    }
}