由函数定义的变量

时间:2017-12-24 16:59:17

标签: javascript node.js

我正在这样做Hackerrank challange this就是问题:

  

Input格式:

     

您必须完成Node* Insert(Node* head, int data)方法。它需要   两个参数:链表的头部和要插入的整数。您   不应该从input / console。

中读取任何stdin      

Output格式:

     

在尾部插入新节点,只在return更新链接列表的头部。不要在stdout / console上打印任何东西。

/*
  Node is defined as
  var Node = function(data) {
      this.data = data;
      this.next = null;
  }
*/

这是我的代码:

function insert(head, data) {
    if(head){
        while(head.next!==null){
            head = head.next;
        }
        head.next = Node(data);

    }else{
        head = Node(data);
    }
}

有人知道为什么它错了或者能帮助我理解它是如何工作的吗?

1 个答案:

答案 0 :(得分:0)

你应该返回一些东西,你的代码应该是这样的:

function(head, data) {
  if (head) {
    var nextNode = head

    while (nextNode.next !== null) {
      nextNode = nextNode.next
    }

    nextNode.next = new Node(data)
  } else {
    head = new Node(data)
  }

  return head
}