将两个有序链表合并为一个新的有序链表并返回

思路:
创建一个新的链表,然后同时遍历两个链表的各自节点,进行值得比较,值小的节点用尾插的方法放入到新的链表中,当一个链表的所有节点全插完后,直接将剩余链表的节点连接到新链表的后面就行了。

public static ListNode mergeTwoLists(ListNode headA,ListNode headB) {
        ListNode node=new ListNode(-1);
        ListNode tmp=node;
        while(headA!=null&&headB!=null){
            if(headA.data<headB.data){
                tmp.next=headA;
                headA=headA.next;
                tmp=tmp.next;
            }else{
                tmp.next=headB;
                headB=headB.next;
                tmp=tmp.next;
            }
        }
        if(headA!=null){
            tmp.next=headA;
        }
        if(headB!=null){
            tmp.next=headB;
        }
        return node.next;
    }

发布了67 篇原创文章 · 获赞 12 · 访问量 1515

猜你喜欢

转载自blog.csdn.net/qq_42174669/article/details/102876832
今日推荐