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

21. Merge Two Sorted Lists

程序员文章站 2022-06-04 19:28:42
...

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.

Dummy node

/**
 * 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){
        return l2;
    }    
    if(l2==null){
        return l1;
    }
    ListNode dummy = new ListNode (0);
    ListNode head = dummy;
    
    while(l1!=null&&l2!=null){
    if(l1.val<l2.val){
        head.next=l1;
        l1=l1.next;
        head=head.next;
    }
    else{
        head.next=l2;
        l2=l2.next;
        head=head.next;
        }
    }
    
    while (l1!=null){
        head.next=l1;
        l1=l1.next;
        head=head.next;
    }
    while(l2!=null){
        head.next=l2;
        l2=l2.next;
        head=head.next;
    }
    return dummy.next;
    }
}
相关标签: linkedlist