当前位置: 首页 > 科技观察

算法:合并两个有序链表_0

时间:2023-03-18 21:28:11 科技观察

本文转载自微信公众号《三分钟学前端》,作者安姐。转载本文请联系三分钟学习前端公众号。将两个升序列表合并为一个新的升序列表并返回。新的链表是由给定的两个链表的所有节点拼接而成的。例子:输入:1->2->4,1->3->4输出:1->1->2->3->4->4解:判断问题的数据结构:单链表判断题的解题思路:从链表的头部开始,l1和l2依次递增,所以l1.val和l2.val中较小的值就是合并链表的最小值,第二个最小值是next.val和大节点的val比较的较小值依次递归,直到递归到l1和l2都为null绘图实现:绘图有助于理解和确定边界条件:当递归到任意链表为null,直接指向下一个链表,不需要继续递归代码实现:functionmergeTwoLists(l1,l2){if(l1===null){returnl2}if(l2===null){returnl1}if(l1.val<=l2.val){l1.next=mergeTwoLists(l1.next,l2)returnl1}else{l2.next=mergeTwoLists(l2.next,l1)returnl2}}来源:https://github.com/sisterAn/JavaScript-算法秒