我有点弄懵逼了

来源:5-2 LeetCode:237.删除链表中的节点

慕无忌2576682

2022-01-28

node.val=node.next.val

这行代码能理解成 开始4→5→1→9变成4→1→1→9吗?

但是node.next=node.next.next我就不明白怎么就变成了删除了呢

node.next=1

node.nexe.next=9 

不是变成了4→1→9→9了吗 

写回答

3回答

Evonne_xy

2022-02-10

比如4-5-1-9.你要删除5

那你的node(5)传进来,它有两个属性 val, next。

node.next.val 也就是1 赋值给 node.val, 现在链表数值变成了4-1-1-9

然后你改变这个node(5)的next呀,他的next只要指向9,不就变相的把第三位的1删了吗?那谁的next指向9呢?就是第三位的1呀。第三位的1的next怎么求呢?先node.next找到第三位的1,在node.next.next就找到了!

所以node.next = node.next.next

不知道我这么说你可不可以理解~

1
0

慕少6481637

2022-05-16

node.next=node.next.next 这里不是赋值的意思。而是node节点的指向为node的下下个节点,所以下个节点被跳过了,可以理解为被删除了。

0
0

lewis

2022-01-28

需要先理解一下js引用类型

0
0

JavaScript版数据结构与算法 轻松解决前端算法面试

夯实算法基础,填补技术短板,助力面试考题最后一公里

2481 学习 · 683 问题

查看课程