Day8 | 合并两个有序链表:摸鱼的一天

Day8 | 合并两个有序链表:摸鱼的一天
第八天摸鱼的一天题目合并两个有序链表将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。解法一递归第一个想出天才的人真的是一个递归。public class Solution { public ListNode MergeTwoLists(ListNode list1, ListNode list2) { if (list1 null) { return list2; } else if (list2 null) { return list1; } else if (list1.val list2.val) { list2.next MergeTwoLists(list1, list2.next); return list2; } else { list1.next MergeTwoLists(list1.next, list2); return list1; } } }返回l1和l2中为空的一个然后比较两个值的大小然后返回较大的一个。解法二迭代public class Solution { public ListNode MergeTwoLists(ListNode list1, ListNode list2) { ListNode temp new ListNode(-1); // 用于返回的空表 ListNode poi temp; // 指向当前列表 while (list1 ! null list2 ! null) { if (list1.val list2.val) { poi.next list1; list1 list1.next; } else { poi.next list2; list2 list2.next; } poi poi.next; } // 处理剩余跳出循环前肯定又一个为空 if (list1 null) { poi.next list2; } else { poi.next list1; } return temp.next; // 真正的头节点是next } }好了摸鱼结束又是不想学习的一天