Algorithm/src/main/java/linkedlist/MergeTwoLists.java

39 lines
1.0 KiB
Java
Raw Normal View History

2025-03-18 09:09:22 +08:00
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;
}
}