题目

解题
* @param {ListNode} node
* @return {void} Do not return anything, modify node in-place instead.
*/
var deleteNode = function(node) {
node.val = node.next.val;
node.next = node.next.next
};
- 这题实际上很简单,主要是思路问题,转换一下思路,一下子就清晰了。
- js链表,只给了中间某个节点,要求删除这个节点,并保证了下一个节点不为空。
- 乍一看,上一个节点是啥都不知道,怎么删?删完了链表都断了。
- 注意,不是要删除这个节点的地址,只要保证这个节点的 值被删除了就行。
- 那么,就可以换一下角度,当前的删不了,就把下一个节点抛弃了,当前节点直接指向下一个的下一个节点。而把下一个的节点的值,保存到当前节点,这样子实现了表面上的节点删除,值对应上了。
该问题涉及JavaScript中的链表操作,要求删除链表中的中间节点。解决方案是将目标节点的值替换为下一个节点的值,然后将目标节点的next指针指向下一个的下一个节点,从而实现节点的逻辑删除。
256

被折叠的 条评论
为什么被折叠?



