AcWing 36. 合并两个排序的链表-java解释
原题链接
简单
作者:
OneDay1
,
2021-03-25 19:25:50
,
所有人可见
,
阅读 302
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode merge(ListNode l1, ListNode l2) {
//创建一个链表
ListNode dummy = new ListNode(-1);
//创建一个指针执行之前头节点
ListNode cur = dummy;
//当l1与l2不等于空 就循环
while(l1 != null && l2 != null){
//如果l1<l2
if(l1.val < l2.val){
//就把l1这个节点的接到cur上
cur.next = l1;
//向后更新cur与l1;
cur = l1;
l1 = l1.next;
}else{
cur.next = l2;
cur = l2;
l2 = l2.next;
}
}
//上面循环完成后,要么l1为null,要么l2为空
if(l1 != null) cur.next = l1;
else cur.next = l2;
//返回头节点
return dummy.next;
}
}