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

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

思维逻辑图:
在这里插入图片描述

代码如下:

public static ListNode mergeTwoLists(ListNode headA, ListNode headB){
        ListNode node = new ListNode(-1);
        ListNode newHead = null;
        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;
            }
        }
        //当A,B任意一单链表走完时,输出另一链表即可
        if(headA == null) {
            tmp.next = headA;
        }
        if(headB == null) {
            tmp.next = headB;
        }
        return newHead.next;
    }
发布了43 篇原创文章 · 获赞 41 · 访问量 1791

猜你喜欢

转载自blog.csdn.net/weixin_45662626/article/details/103087307
今日推荐