deleteNodeNoPointer(node) {
   node.val = node.next.val;
   node.next = node.next.next;
   return node;
}

如何将单链表节点的指针传递给该函数

例如,如果first是该类的对象,并且我们有链表

1-> 2-> 3-> 4-> 5->空; 并且我们必须将3的指针发送到上面的函数。

first.deleteNodeNoPointer(---POINTER--OF--NODE 3--IN--SINGLYLINKEDLIST);

#1楼 票数:0

您拥有的功能要求您传递对节点的引用以进行删除。 因此,您将从列表的开头开始,遍历该列表,使每个节点成为下一个节点,直到到达要删除的节点为止。 您可能会循环执行此操作,直到找到通常满足某些条件的节点为止。 但是,如果您要删除第三个节点,那就是head.next.next

 class ListItem{ constructor(val, next = null){ this.val = val; this.next = next; } } /* work to make the list */ let head = new ListItem(1); let cur = head; for(let i = 2; i < 10; i++){ cur.next = new ListItem(i); cur = cur.next; } /* prints the list for demo */ function printList(node){ while(node != null){ console.log(node.val); node = node.next; } } function deleteNodeNoPointer(node) { node.val = node.next.val; node.next = node.next.next; return node; } console.log('before deletion'); printList(head);//list is setup let thirdNode = head.next.next;//get the third node deleteNodeNoPointer(thirdNode);//remove the third node console.log('after deletion'); printList(head); 

需要注意的是,如果你确实有头,一个节点的缺失从列表中可以更好地分配实现next被删除节点的父节点的值,在存储的值删除节点的next ;

nodeBefore.next = nodeBefore.next.next;

由于deleteNodeNoPointer函数有点deleteNodeNoPointer这种方法,因此它假定您无权访问父节点。 无论哪种方式,都需要一个变量,该变量持有要删除的节点的引用,然后将其传递给函数。

  ask by Bikash Gurung translate from so

未解决问题?本站智能推荐:

1回复

将指针传递到javascript中的函数

我对javascript非常陌生,我想做一些非常简单的事情,但我无法做到。 这是我的全局代码: }; 和 我的问题是我显示(0,2),并且当我增加y.Value时,我期望的是(0,4)。 我错过了什么 ? 谢谢!
2回复

将函数指针传递给JavaScript中的事件

我了解将函数指针传递给事件处理程序时,不能用括号调用功能块,否则该函数的返回值将分配给事件处理程序。 我尝试过,但对它的工作方式感到困惑? 我可以看到这是怎么回事... 文字函数不是自调用的,不会导致返回值,并且仅在调用onclick-event后才被调用。 编辑1:我不想为此达成
2回复

JavaScript中的条件链函数

我正在尝试重构以下node.js代码。 每个案例都会生成一个缩略图,将一组不同的GraphicMagic转换链接到图像。 但是,所有情况在链接的开始和结束都共享许多转换,因此有重构的空间。 我尝试使用以下方法进行重构,但是代码似乎不正确:
1回复

遍历和更改单链列表中的节点

问题是我不明白为什么这段代码有效。 它可以工作,但是我无法解决这个问题。 这是一个从单链列表中删除节点的函数。 我觉得它不应该工作,因为它实际上并没有更改列表中的任何元素,我只是更改了我设置为等于列表中某个值的变量的值。 换句话说,当我创建一个“ runner”变量以遍历列表时,为什么我
1回复

是否可以将变量引用或指针传递给javascript中的回调函数?

我正在重构javascript并且对同一个PHP url进行了很多类似的POST调用。 将postdata和回调函数(在JiraChangeStatus中定义)传递给一个公共函数(SendPost)会很不错。 我是javascript的新手,并且如果变量是对象的属性,则可以使用指针/引用
4回复

JavaScript中的函数指针

在JavaScript中,可以将函数作为函数的输出返回。 我也可以给变量赋一个函数的值 幕后发生了什么。 我最好的猜测是,警报1现在也指向了函数警报所在的内存中的代码部分。 是这种情况还是将警报的整个代码复制到alert1,以便现在内存中存在另一个功能。
2回复

通过承诺链中的引用函数传递值?

我正在为Express应用程序编写一些渲染代码,我希望捕获错误,然后在函数render中输出它们,但是我不确定如何将它们从一种方法转移到另一种方法。
3回复

链接方法并在Javascript中为下一个链函数传递结果

我有这个示例代码: let test = { result: '', bolder: function (str = this.result) { this.result = '<b>' + str + '</b'; return test; }, italic: func