请无视我的解题思路,算法一点都不懂. 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
var mergeTwoLists = function(l1, l2) {
var array =[];
if(l1===null){
return l2;
}
if(l2===null){
return l1;
}
array.push(l1);
while(array[array.length-1].next !== null){
array.push(array[array.length-1].next);
}
array.push(l2);
while(array[array.length-1].next !== null){
array.push(array[array.length-1].next);
}
array.sort(function(a,b){
return a.val-b.val;
});
for(var i=0;i<array.length-1;i++){
array[i].next = array[i+1]
}
return array[0];
};
下面这一组测试会造成内存溢出 [-10,-9,-7,-1,-1,3,3,7,7] [-6,-4,1,1,2,6], 我用其他 更长的测试反而不会溢出 [-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10] [-6,-4,1,1,2,6]
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.