How do you find out if a linked-list has an end? (i.e. the list is not a cycle)

Q

How do you find out if a linked-list has an end? (i.e. the list is not a cycle)

✍: Guest

A

You can find out by using 2 pointers. One of them goes 2 nodes each time. The second one goes at 1 nodes each time. If there is a cycle, the one that goes 2 nodes each time will eventually meet the one that goes slower. If that is the case, then you will know the linked-list is a cycle.

2012-01-18, 2506👍, 0💬