题解 | #合并两个排序的链表#
合并两个排序的链表
https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337
/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode Merge(ListNode list1, ListNode list2) { if (list1 == null) { return list2; } if (list2 == null) { return list1; } ListNode res = new ListNode(0); ListNode m = new ListNode(1001); ListNode m1 = new ListNode(1001); ListNode m2 = new ListNode(1001); ListNode p = res; m.next = null; while ((list1 != null) || (list2 != null)) { if (list1 != null) { m1.val = list1.val; } else m1.val = 1001; if (list2 != null) { m2.val = list2.val; } else m2.val = 1001; if ((m1.val <= m2.val)) { ListNode temp = new ListNode(list1.val); p.next = temp; p = p.next; if (list1 != null) { list1 = list1.next; } } else { ListNode temp = new ListNode(list2.val); p.next = temp; p = p.next; if (list2 != null) { list2 = list2.next; } } } return res.next; } }