题解 | #合并两个排序的链表#
合并两个排序的链表
https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337
Java不使用递归解决(地表最强)
public class Solution {
public ListNode Merge(ListNode list1, ListNode list2) {
//创建哨兵节点,其中p节点作为标记,并且res节点为结果的头节点,这个永远不会变
ListNode p = new ListNode(-1);
ListNode res = p;
while (list1 != null && list2 != null) {
if (list1.val <= list2.val) {
p.next = list1;
list1 = list1.next;
p = p.next;
} else {
p.next = list2;
list2 = list2.next;
p = p.next;
}
}
if(list1 == null) p.next = list2;
if(list2 == null) p.next = list1;
return res.next;
}
}