我正在这样做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);
}
}
有人知道为什么它错了或者能帮助我理解它是如何工作的吗?
答案 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
}