题解 | #合并两个排序的链表#
合并两个排序的链表
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 pre = new ListNode(0); ListNode next1 = null,next2 = null,preTempNose = null; pre.next = list1; preTempNose = pre; while (list1 != null && list2 != null){ next2 = list2.next; next1 = list1.next; if(list2.val < list1.val){ list2.next = preTempNose.next; preTempNose.next = list2; list2 = next2; } else if(list2.val >= list1.val && (list1.next == null || (list1.next != null && list2.val < list1.next.val))){ list1.next = list2; list2.next = next1; list1 = list2; list2 = next2; } else{ list1 = next1; } } return pre.next; } }