共计 712 个字符,预计需要花费 2 分钟才能阅读完成。
(一)需要
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例 1:
输出:l1 = [1,2,4], l2 = [1,3,4]
输入:[1,1,2,3,4,4]
示例 2:
输出:l1 = [], l2 = []
输入:[]
(二)思路及代码
/**
* Definition for singly-linked list.
* class ListNode {
* val: number
* next: ListNode | null
* constructor(val?: number, next?: ListNode | null) {* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
* }
*/
function mergeTwoLists(list1: ListNode | null, list2: ListNode | null): ListNode | null {
let l1 = list1 // 定义新的两个头结点
let l2 = list2
let head = {next : null} // 定义新链表的头节点
let prev = head
while (l1 && l2){if(l1.val<l2.val){
prev.next = l1
l1 = l1.next
}else{
prev.next = l2
l2 = l2.next
}
prev = prev.next
}
if(l1) prev.next = l1 // 排除了为 0,null 的状况
if(l2) prev.next = l2
return head.next
};
写在最初的话
学习路上,经常会懈怠
《有想学技术须要监督的同学嘛~》
https://mp.weixin.qq.com/s/Fy…
正文完
发表至: javascript
2022-05-27