老师你好,这个构造函数有点看不明白
来源:5-1 Leetcode中和链表相关的问题

CarryStone2
2019-09-06
// 链表节点的构造函数
// 使用arr为参数,创建一个链表,当前的ListNode为链表头结点
public ListNode(int[] arr){
if(arr == null || arr.length == 0)
throw new IllegalArgumentException("arr can not be empty");
this.val = arr[0];
ListNode cur = this;
for(int i = 1 ; i < arr.length ; i ++){
cur.next = new ListNode(arr[i]);
cur = cur.next;
}
}
老师你好,这个构造函数有点看不明白,
传入int[] num = {1,2,6,3,6,4,5};
执行完后,cur变成了 5->Null, this变成了1->2->6->3->6->4->5->Null
返回的不是cur吗,this表示的又是什么?请老师帮忙解答,感谢。
写回答
1回答
-
liuyubobobo
2019-09-07
this 表示当前这个类的对象,也就是自己。
这个函数是构造函数,没有返回值。
调用 ListNode node = new ListNode(arr); 注意,这个new 是对构造函数的调用,在这个构造函数里,this就是这个node。
继续加油!:)
00
相似问题