力扣打卡:21. 合并两个有序链表
解题思路通过判断l1(不只是头节点)和l2(不只是头节点)而是迭代判断节点是否为空,来进行引用的传递
代码
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode dummy = new ListNode();
ListNode p = dummy;
ListNode node = null;
while(l1 != null || l2 != null){ // 判断l1或者l2至少有一个不为空
if(l1==null){ // 首先判断l1是否为空
node = l2;
l2 = l2.next;
}else if(l2==null){ //再次判断l2是否为空
node = l1;
l1 = l1.next;
}else{ // 如果l1和l2都不为空,那么进行合并
// 可以和之前的ifelse进行合并
if(l1.val <= l2.val){
node = l1;
l1 = l1.next;
}else{
node = l2;
l2 = l2.next;
}
}
p.next = node;
p = p.next;
}
return dummy.next;
}
}



