TypeScript算法-21. 合并两个有序链表(包括将数组转换为链表以及遍历链表的方法)
发布时间
阅读量:
阅读量
TypeScript算法-21. 合并两个有序链表
- 理念
- 程序
思路
初始化两个指针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;
}
return head.next;
}
全部评论 (0)
还没有任何评论哟~
