package linkedlist; import java.util.ArrayList; import java.util.List; /** * 题目: 21. 合并两个有序链表 (mergeTwoLists) * 描述:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 * 链接:https://leetcode.cn/problems/merge-two-sorted-lists/ */ public class MergeTwoLists { public ListNode mergeTwoLists(ListNode list1, ListNode list2) { ListNode head = new ListNode(-1); ListNode mv = head; ListNode mv1 = list1; ListNode mv2 = list2; while(mv1 != null && mv2 !=null) { if(mv1.val < mv2.val) { mv.next = mv1; mv1 = mv1.next; } else { mv.next = mv2; mv2 = mv2.next; } mv = mv.next; } if(mv1 == null) { mv.next = mv2; } else { mv.next = mv1; } return head.next; } }