为了账号安全,请及时绑定邮箱和手机立即绑定

合并两个列表 LeetCode

合并两个列表 LeetCode

慕仙森 2022-11-11 16:34:39
我已经在 Repl.it 网站上解决了这个问题,但是当我在 LeetCode 上提交代码时,它给出了一个 typeError,我将把它粘贴在这里:Line 29 in solution.js         throw new TypeError(__serialize__(ret) + " is not valid value for the expected return type ListNode");         ^TypeError: [] is not valid value for the expected return type ListNodeLine 29: Char 20 in solution.js (Object.<anonymous>)Line 16: Char 8 in runner.js (Object.runner)Line 13: Char 26 in solution.js (Object.<anonymous>)Line 1200: Char 30 in loader.js (Module._compile)Line 1220: Char 10 in loader.js (Object.Module._extensions..js)Line 1049: Char 32 in loader.js (Module.load)Line 937: Char 14 in loader.js (Function.Module._load)at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)Line 17: Char 47 in run_main_module.js这是代码:var mergeTwoLists = function(l1, l2) {  let i = 0, j = 0;  var out = [];  while(i < l1.length || j < l2.length) {    if(j == l2.length || i < l1.length && l1[i] < l2[j]) {      out.push(l1[i++]);    } else {      out.push(l2[j++]);    }  }  return out;};我真的不知道问题出在哪里......如果有人可以帮助我将不胜感激
查看完整描述

1 回答

?
MM们

TA贡献1886条经验 获得超2个赞

这是一个链接列表合并问题,而不是常规数组合并。这会通过:


/**

 * Definition for singly-linked list.

 * function ListNode(val, next) {

 *     this.val = (val===undefined ? 0 : val)

 *     this.next = (next===undefined ? null : next)

 * }

 */

/**

 * @param {ListNode} l1

 * @param {ListNode} l2

 * @return {ListNode}

 */

var mergeTwoLists = function(l1, l2) {

    var dummy = {

      val : -1,

      next : null

    };

    var curr = dummy;

    while (l1 && l2) {

        if (l1.val > l2.val) {

            curr.next = l2;

            l2 = l2.next;

        } else {

            curr.next = l1;

            l1 = l1.next;

        }

        curr = curr.next;

    }

    

    curr.next = l1 || l2;


    return dummy.next;

};

这就是您的列表的样子:


/**

 * Definition for singly-linked list.

 * function ListNode(val, next) {

 *     this.val = (val===undefined ? 0 : val)

 *     this.next = (next===undefined ? null : next)

 * }

 */

/**

 * @param {ListNode} l1

 * @param {ListNode} l2

 * @return {ListNode}

 */

查看完整回答
反对 回复 2022-11-11
  • 1 回答
  • 0 关注
  • 717 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信