You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LeetCode合并有序链表:ListNode构造对象不被识别为指定类型

合并两个有序链表返回值类型问题

在LeetCode解决合并两个有序链表问题时,我先将两个链表的数值存入数组并排序,随后尝试用题目提供的ListNode构造函数将数组转回链表。

题目提供的ListNode构造函数

function ListNode(val, next) {
      this.val = (val===undefined ? 0 : val)
      this.next = (next===undefined ? null : next)
}

我的实现代码

我通过new ListNode(val,next)生成链表节点,具体代码如下:

head = new Object() // 第一个循环时会被替换为ListNode实例
for(let i = saved.length-1; i > -1 ;i--){
        if(i ==saved.length-1){
           head = new ListNode(saved[i],null);
        }
        else{
           head = new ListNode(saved[i],head);
        }
    }
    console.log(head);
    return head;

遇到的问题

最终返回的head对象在控制台显示为[1,1,2,3,4,4],执行typeof head输出结果为Object,此时LeetCode系统抛出如下类型错误:

throw new TypeError(__serialize__(ret) + " is not valid value for the expected return type ListNode");

我认为返回值应该属于ListNode类型(使用了对应构造函数且拥有val和next属性),但尝试多种方法仍未解决问题。

已尝试的方法

  • 使用题目提供的ListNode构造函数
  • 创建对象并手动添加val和next属性
  • 将第一个链表的尾节点与第二个链表的头节点连接并覆盖值

内容的提问来源于stack exchange,提问作者user20666769

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 19:45:40