合并两个排序的链表

题目形容

输出两个枯燥递增的链表,输入两个链表合成后的链表,当然咱们须要合成后的链表满足枯燥不减规定。

题目链接: 合并两个排序的链表

代码

/** * 题目:合并两个排序的链表 * 题目形容 * 输出两个枯燥递增的链表,输入两个链表合成后的链表,当然咱们须要合成后的链表满足枯燥不减规定。 * 题目链接: * https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337?tpId=13&&tqId=11169&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking */public class Jz16 {      public ListNode merge(ListNode list1, ListNode list2) {        if (list1 == null && list2 == null) {            return null;        }        if (list1 == null) {            return list2;        }        if (list2 == null) {            return list1;        }        ListNode result = new ListNode(-1);        ListNode next = result;        while (list1 != null || list2 != null) {            if (list1 == null) {                next.next = list2;                break;            } else if (list2 == null) {                next.next = list1;                break;            } else if (list1.val < list2.val) {                next.next = list1;                list1 = list1.next;            } else {                next.next = list2;                list2 = list2.next;            }            next = next.next;        }        return result.next;    }    public static void main(String[] args) {        ListNode list1 = new ListNode(1);        list1.next = new ListNode(3);        list1.next.next = new ListNode(5);        ListNode list2 = new ListNode(2);        list2.next = new ListNode(4);        list2.next.next = new ListNode(6);        System.out.println("after merge");        Jz16 jz16 = new Jz16();        ListNode result = jz16.merge(list1, list2);        ListNode cur = result;        while (cur != null) {            System.out.print(cur.val + " ");            cur = cur.next;        }    }}
【每日寄语】 无论他人怎么看,我绝不打乱本人的节奏。喜爱的事天然能够保持。