思路:首先判断两个有序链表是否为空,不为空则找出两个链表当前节点数值较小的,添加进自己定义的链表,直到有一个链表为空,然后将不为空的有序链表按照顺序添加进自定义的链表中。
上代码:

public class Solution {
    /**
     * 
     * @param l1 ListNode类 
     * @param l2 ListNode类 
     * @return ListNode类
     */
    public ListNode mergeTwoLists (ListNode l1, ListNode l2) {
        // write code here
        ListNode res=new ListNode(-1);//初始化自定义链表
        ListNode node=res;//需要返回的链表,保存自定义链表头节点
        while(l1!=null&&l2!=null){
            if(l1.val>=l2.val){//l2的节点值较小
                res.next=l2;
                res=res.next;
                l2=l2.next;
            }else{//l1的节点值较小
                res.next=l1;
                res=res.next;
                l1=l1.next;
            }
        }
        if(l1!=null){//最后将不为空的链表添加进去
            while(l1!=null){
                res.next=l1;
                res=res.next;
                l1=l1.next;
            }
        }else if(l2!=null){
            res.next=l2;
                res=res.next;
                l2=l2.next;
        }
        return node.next;
    }
}