Niuke: BM7 El nodo de entrada del anillo en la lista vinculada
Directorio de artículos
Descripción de la pregunta
Ideas para resolver problemas
Utilice una tabla hash para almacenar nodos de la lista vinculada, recorra la lista vinculada y agregue el nodo a la tabla hash. Si el nodo aparece en la tabla hash, significa que el nodo es el nodo de entrada.
Código de solución
package main
func EntryNodeOfLoop(pHead *ListNode) *ListNode{
m := make(map[*ListNode]struct{
})
for pHead != nil {
if _, ok := m[pHead]; ok {
return pHead
}
m[pHead] = struct{
}{
}
pHead = pHead.Next
}
return nil
}