当前位置: 首页 > Web前端 > JavaScript

Leetcode21合并两个排序好的链表

时间:2023-03-26 20:42:54 JavaScript

将两个升序链表合并成一个新的升序链表并返回。新的链表是由给定的两个链表的所有节点拼接而成的。示例1:输入:l1=[1,2,4],l2=[1,3,4]输出:[1,1,2,3,4,4]示例2:输入:l1=[],l2=[]输出:[]例3:输入:l1=[],l2=[0]输出:[0]解题思路是从链表的头部比较,l1和l2依次增加,所以比较l1.val中较小的值l2.val是合并后链表的最小值,第二小的值是小节点的next.val与大节点的val相比较小的值节点,递归直到l1和l2都为空。当递归到任何链表为null时,直接指向另一个链表的next即可,无需继续递归。代码实现functionmergeTwoLists(l1,l2){if(l1==null)returnl2;如果(l2==null)返回l1;if(l1.val<=l2.val){//如果l1.val<=l2.val,第二小的值是l1.next与l2相比较小的值l1.next=mergeTwoLists(l1.next,l2);返回l1;}else{//如果l1.val>l2.val,则第二小的值为l2.next与l1相比较小的值l2.next=mergeTwoLists(l2.next,l1);返回l2;}};