算法简单题:删除链表中的节点

此文章仅作本人解题思路记录,如有冒犯请联系本人删除。

现有一个链表 -- head = [4,5,1,9],它可以表示为:

image

示例 1:

输入:head = [4,5,1,9], node = 5

输出:[4,1,9]

解释:给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.

示例 2:

输入:head = [4,5,1,9], node = 1

输出:[4,5,9]

解释:给定你链表中值为 1 的第三个节点,那么在调用了你的函数之后,该链表应变为 4 -> 5 -> 9.

提示:

链表至少包含两个节点。

链表中所有节点的值都是唯一的。

给定的节点为非末尾节点并且一定是链表中的一个有效节点。

不要从你的函数中返回任何结果。

链接:https://leetcode-cn.com/problems/delete-node-in-a-linked-list

解题思路:因为传入的就是一个节点,简单理解,就是把这个节点从链表中移除,由后面的补上,那么思路有了,后面的补上,需要更改链表的当前值为下一个,next指针也指向其下一个

鄙人答案:

/**

* Definition for singly-linked list.

* function ListNode(val) {

*    this.val = val;

*    this.next = null;

* }

*/

/** *@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; //直接改变了指针的指向,将节点删除了

};

你可能感兴趣的:(算法简单题:删除链表中的节点)