在线演示地址
题目
寻找链表的头节点,每个节点,有 id 和 nextId 两个属性,nextId 表示指向节点 id。现在请实现一个办法寻找该链表的头节点。
PS. 考虑一下链表环状,以及节点不在链表内等异常情况,出现异常时,打印异常消息即可。
解答
const findFirstNode = (nodeList) => {
//反向遍历->计数+返回头结点
let nodes_reverse = new Map()//把当前结点和下一个结点反向存入map
nodeList.forEach(item => nodes_reverse.set(item.nextId, item.id))
let count_reverse