有序链表合并是指将两个已经有序的链表按照从小到大的顺序进行合并,得到一个新的有序链表。以下是 Js 代码实现: ```javascript function ListNode(val) { this.val = val; this.next = null; } function mergeTwoLists(l1, l2) { let dummy = new ListNode(-1); let cur = dummy; while (l1 !== null && l2 !== null) { if (l1.val < l2.val) { cur.next = l1; l1 = l1.next; } else { cur.next = l2; l2 = l2.next; } cur = cur.next; } cur.next = l1 ? l1 : l2; return dummy.next; } ``` 首先创建一个新的链表头 `dummy`,用于存储合并后的链表结果。然后使用一个 `cur` 指针来遍历链表,同时比较两个链表的节点值大小,并将较小的节点接在合并链表的末尾。最后,将未合并完的链表直接连接到合并链表的末尾即可。 这段代码的时间复杂度为 $O(m+n)$,其中 $m$ 和 $n$ 分别为两个链表的长度。