这个结构有环吗
用一个数组表示"下一个去哪":[1, 2, 3, 4, 1]——最后一格指回了下标 1。运行下面这段程序:
def has_cycle(nxt):
slow = 0
fast = 0
while True:
if nxt[fast] == -1:
return False
if nxt[nxt[fast]] == -1:
return False
slow = nxt[slow]
fast = nxt[nxt[fast]]
if slow == fast:
return True
print(has_cycle([1, 2, 3, 4, 1]))
全部评论