public static ListNode insListNode(int[] arr){
ListNode root = new ListNode(arr[0]);
ListNode temp = root;
for (int i = 1; i < arr.length; i++) {
ListNode node = new ListNode(arr[i]);
temp.next = node;
temp = node;
}
return root;
}
理解:
- 0处索引的值作为头部链表的值val
- 新建一个临时变量 用作指向root,注意:此处temp和root对象是堆中的同一个实例,也就是他俩的地址相同
- for循环中,每次拿出数组中的值,创建一个新的next为null的结点
temp.next
表示将当前temp对应的实例的next指向新建的结点temp = node
表示改变temp的指针指向,即之前是指向root的,那么现在指向新建的结点- 3、4、5重复执行
- 也就是说
temp
其实就是root
中的每层结点