为什么指针p3=l3 l3是一个对象 p3的改变为啥不会引起l3的改变?

来源:5-4 LeetCode:2. 两数相加

lilugirl

2020-12-08

这好像和之前的对引用类型的认知非常颠覆,如何理解呢

写回答

3回答

lewis

2020-12-08

这就是引用类型的特性,你可以自己那别的数据试试

0
1
孔燕云
执行完p3=p3.next之后,p3和l3没有关系了,再次循环到p3.next=new ListNode(val%10)时为什么p3的属性值变化还会影响l3呢?
2025-03-19
共1条回复

烈霓殇

2021-04-19

没有和你之前对引用类型的认知产生矛盾。

仔细分析一下:

"p3.next = new ListNode(val % 10)" 这句代码改变了 p3 的next,同时也改变了 l3 的next,因为此时 p3 和 l3 是一个对象。

"p3 = p3.next" 这句代码,改变了 p3 的指向,此时 p3 的引用指向原 p3.next,不再指向 l3,也就是这句代码执行后 p3 和 l3 就不是一个对象了。



2
1
孔燕云
执行完p3=p3.next之后,p3和l3没有关系了,再次循环到p3.next=new ListNode(val%10)时为什么p3的属性值变化还会影响l3呢?
2025-03-19
共1条回复

weixin_慕函数4026144

2021-10-20

对象是引用类型,I3指向房间a, p3=l3, p3此时也指向房间a

当你改变p3时,p3此时指向别的房间了,对房间a里面的东西并没有影响

0
0

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

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

2479 学习 · 683 问题

查看课程