换一种问法:一个有n个节点的单向链表,如何确定它是否存在“环”?
是不是觉得似曾相识?
答案:用两个指针,一个每次+1,另一个每次+2。如果两个指针相遇,就是有“环”
那么把指针换成一个是蚂蚁,一个是子弹。多么简单!
【 在 stub 的大作中提到: 】
: 有一个无限长的整数刻度的坐标轴,有一只蚂蚁在某一个整数刻度上,但是具体位置未知,现在蚂蚁每秒钟都会向正方向前进一格。你有一把手枪,每秒钟你能向坐标轴的某个刻度开一枪,之后只能知道打中还是没打中,请你设计一种开枪的策略,保证最终一定能打中这只蚂蚁。
--
FROM 125.33.112.*