关于引用数据类型

来源:5-3 设立链表的虚拟头结点 Remove Linked List Elements

pfco

2019-04-02

老师,我有一个疑问,就是那个创建一个链表,让curHead=head,那head的值应该会随着curHead的值变化,那在执行第一步,让cur.next=new ListNode(arr[i]),head的值也会相应变化,那下一步,curHead=cueHead.next,head
的值为什么不变了呢,此时curHead和head应该也是同一个地址吧

写回答

1回答

liuyubobobo

2019-04-02

ListNode a = b;

a.val = 3;

其实,b.val也变成了3,因为a和b指向是一样的。


ListNode a = b;

a = c;

此时,b不会变成c,b还指向原来a指向的内存空间。只不过a的指向改变了。


请将Java中的引用理解成一个箭头:)看看能不能想明白?


继续加油!:)

0
0

玩转算法面试-- Leetcode真题分门别类讲解

课程配套大量BAT面试真题,高频算法题解析,强化训练

7408 学习 · 1150 问题

查看课程