通过将每个结点所包含的信息取出来,通过unshif方法存储到数组里面
然后在创建一个变量headNode,并且将数组首位元素赋值给它,同时将headNode赋值给另外一个变量flag来保存当前的头指针信息
遍历数组的所有信息,以headNode作为指针,将所有结点信息连接起来,最后将头结点flag返回即可
// write code here
if(!head) {
return null
}
let arr = [];
let flag = head;
let headNode = head;
let newNode = new ListNode()
//抽出数据
while(flag) {
arr.unshift(flag)
flag = flag.next
}
flag = head
headNode = arr[0]
flag = headNode
//重置链表
for(let i=1;i<arr.length;i++) {
newNode=arr[i]
headNode.next = newNode
headNode = headNode.next
}
headNode.next = null
return flag
}