Недавно проскользнула задача из собеседования с Microsoft, про списки: дается список, определить имеет ли он цикл.

Усложняем. Дан список, определить имеет ли он цикл, и если да то сколько элементов в цикле. При этом список muttable(то есть изменять его можно), но после завершения необходимо что-бы список остался в неизменном виде.