思路
新建两个指针l1, l2
分别指向两个链表,哪个指针指向的ListNode的值小,就根据其值新建一个节点拼接到结果指针上。
注意点:1. 两个链表中有一个或者都为空的情况;2. 一个链表已经遍历完了的情况;
代码
为了方便调试,我们可以先写两个辅助函数:
- 将数组转换成一个链表的方法arrayToList:
function arrayToList (arr: number[]): ListNode | null {
if (!arr.length) return null;
let pointer = new ListNode();
const head = pointer;
for (let i = 0; i < arr.length; i++) {
pointer.next = new ListNode(arr[i]);
pointer = pointer.next;