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中的每层结点