老师第一行代码可以和第二三行代码表达一个意思吗

来源:5-1 Leetcode中和链表相关的问题

野源新之助

2019-10-27

ListNode cur = new ListNode(arr[0]);

//this.val = arr[0];
//ListNode cur = this;

写回答

1回答

liuyubobobo

2019-10-27

不是一个意思。


第二行代码修改了 this.val,也就是修改了 this 所指的内存空间。


第三行代码将 cur 指向了 this 所指的同一个内存空间,但是,this 的值没有进行改变。你初始化的时候,cur new出来的 arr[0] 的节点也丢失了。(因为现在 cur 转而指向了 this)


继续加油!:)

0
2
liuyubobobo
回复
野源新之助
第2,3行代码修改了 this,但是第一行代码没有动 this,看你的逻辑需不需要(或者可不可以)动 this。
2019-10-27
共2条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程