image.png

    1. // 请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 。
    2. // 题目数据保证需要删除的节点 不是末尾节点 。
    3. // 输入:head = [4,5,1,9], node = 5
    4. // 输出:[4,1,9]
    5. // 解释:指定链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9
    6. /**
    7. * Definition for singly-linked list.
    8. * function ListNode(val) {
    9. * this.val = val;
    10. * this.next = null;
    11. * }
    12. */
    13. /**
    14. * @param {ListNode} node
    15. * @return {void} Do not return anything, modify node in-place instead.
    16. */
    17. // 解题思路
    18. // 1.我们要删除一个节点,一般是找到上一节点,然后通过next跳过要删除节点
    19. // 2.本题没法找到上一节点,我们可以把下一节点赋值给当前节点,然后再删除下一节点
    20. var deleteNode = function(node) {
    21. node.val = node.next.val;
    22. node.next = node.next.next;
    23. };