当前位置: 首页 > 知识库问答 >
问题:

我试图回答Hackeranks的数据结构问题,但我不知道为什么这个函数会失败

汪深
2023-03-14

这就是问题和我的Javascript解决方案

您将获得指向链表头节点的指针和一个要添加到列表中的整数。使用给定的整数创建一个新节点。在链表的尾部插入此节点,并返回插入此新节点后形成的链表的头节点。给定的头指针可能为null,这意味着初始列表为空。

// Complete the insertNodeAtTail function below.

/*
 * For your reference:
 *
 * SinglyLinkedListNode {
 *     int data;
 *     SinglyLinkedListNode next;
 * }
 *
 */
function insertNodeAtTail(head, data) {

    if(!head) return;
    
    let currentNode = head;
    while(currentNode.next){
        currentNode = currentNode.next
        
    }
    const newNode = new SinglyLinkedListNode(data)
    currentNode.next = newNode
    
    return head

共有1个答案

邹学民
2023-03-14

您的解决方案可能不适用于edge情况,在edge情况下,head为NULL。请尝试此解决方案:

if(!head)
{
    const newNode = new SinglyLinkedListNode(data);
    return newNode;
}


let currentNode = head;
while(currentNode.next){
    currentNode = currentNode.next
    
}
const newNode = new SinglyLinkedListNode(data)
currentNode.next = newNode

return head
 类似资料:
  • 我正在用unity组件系统学习C#的构造函数和析构函数。< br >如果这个问题的英文很奇怪,我很抱歉。我用了一个翻译,因为我不擅长英语。日志输出是这样的。 在不按播放按钮的情况下显示构造器日志。为什么 当我按下播放按钮时,我看到一个正在创建并立即消失的日志。游戏开始后,我没有编写代码来创建对象,这个短语在哪里运行 这是我的代码。 项目工作结构 按下空格键将预制的prefab带到游戏世界,Pref

  • 问题内容: 语法的哪一部分提供了该函数应在其他线程中运行并且是非阻塞的信息? 让我们考虑一下node.js中的简单异步I / O 是什么使它在后台发生的呢?任何人都可以准确地解释它,还是可以粘贴指向一些好的资源的链接?我到处看的地方都有很多关于什么是回调的信息,但是没有人解释为什么它实际上如此工作。 这不是关于node.js的特定问题,而是关于每种编程语言中回调的一般概念。 编辑: 我提供的示例可

  • 我拿不到输出。。有人能帮我得到输出吗 下面给出了程序运行的示例(注意:下面的粗体文本是用户输入的输入): 输入三角形的三条边

  • 写一个函数均衡器(w1,w2),它包含两个不同长度的单词w1和w2。函数应该返回重复的较小单词,直到它达到长单词的长度

  • 我拿不到输出。。有人能帮我得到输出吗 下面给出了程序运行的示例(注意:下面的粗体文本是用户输入的输入): 进入三角形的三个边

  • 设计师不知道怎么正确回答面试官问题?正确回答的方法来了,建议先收藏再看。 1、你为什么选择我们公司 这就需要在面试之前先了解一下这个公司,了解他们是做什么的,然后说很看好这个业务未来的发展、很喜欢这个领域之类的 2、你了解哪些设计理论 格式塔、交互五要素、less is more、故事逻辑、用户分层、情绪版、原子理论等,根据自己的真实情况回答,不要不懂装懂。 3、你认为我们的产品有哪些问题 面试前