就爱瞎逛 2019-09-09 10:32 采纳率: 83.3%
浏览 249
已采纳

leetcode876. 链表的中间结点。用javascript,为什么return是undefined?

题目来源https://leetcode-cn.com/problems/middle-of-the-linked-list
问题①:按这个思路“将链表输出到数组,数组的话可以按索引找“来写的

var middleNode = function(head) {
    let result = [head];
    for(let i = 0, apple = head; apple != null; i++, apple = apple.next){
        result[i] = apple.val;
    }
    console.log(result);
    console.log(result.length);
    console.log (result.slice(Math.floor(result.length/2)));
    return Array.from(result);
}

图片说明

为什么console能正常显示但是return却不行?

问题②:用快慢双指针

var middleNode = function(head) {
    slow = fast = head;
    while(fast && fast.next != null){ //为什么去掉fast 就会报错???
        // console.log(slow.val +" "+fast.val);
        slow = slow.next;
        fast = fast.next.next;
    }
    return slow;
}

去掉fast会报错,但不懂为什么

测试用例:[1,2,3,4,5,6]
图片说明

感谢大佬们在百忙中解答我的疑问!!

  • 写回答

1条回答 默认 最新

  • 「已注销」 2019-09-09 13:23
    关注

    你好我去看了下这道题 有下面这段注释

    /**
     * @param {ListNode} head
     * @return {ListNode}
     */
    

    第一个问题:需要你返回一个列表 而不是一个数组

    第二个问题:最后一个节点时fast会为null 所以fast无next属性

    另外老哥你是写Python的吧。。 变量啥的还是声明下比较好

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题