题解 | #合并两个排序的链表#
合并两个排序的链表
https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337
public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { // list1 list2为空的情况 if(list1 == null || list2 == null){ return list1 != null ? list1 : list2; } // 两个链表元素依次对比 // 使用递归 // 如果pHead1 节点值比小pHead2,下一个节点应该是 pHead1,应该return pHead1,在return之前,指定pHead1的下一个节点应该是pHead1.next和pHead2俩链表的合并后的头结点 if(list1.val <= list2.val){ // 递归计算 list1.next, list2 list1.next = Merge(list1.next, list2); return list1; } // 如果pHead1 节点值比pHead2大,下一个节点应该是pHead2,应该return pHead2,在return之前,指定pHead2的下一个节点应该是pHead1和pHead2.next俩链表的合并后的头结点 else{ // 递归计算 list1, list2.next list2.next = Merge(list1, list2.next); return list2; } } }