白天的小萤火虫

导航

2011年2月25日

2.23记录

摘要: 1、关于2条单向链表是否存在交点的问题,只能Y字型,方法是遍历两条链表,看他们的尾指针是否相同,相同则有交点,进而求交点的位置,两条链的长度为M,N,如果M>N,则短链从头开始扫,长链从M-N处开始扫,如果发现相同点,则为交点。2、链表是否有环,用一快(2)一慢(1)的指针,如果他们相遇了,则说明有交点,如果需要找点环的开始节点,则这样做:当第一次相交后,再一快一慢的扫一次,第二次遇上的时候,他们走的步长差值就为环的长度,有了这个长度M,则用M长的火车从头开始扫,当这列火车头尾相遇,则相遇点就是环的入口处。还有一个链表反转的问题,主要是注意递归版本的实现,想了好久#include< 阅读全文

posted @ 2011-02-25 14:51 白天的小萤火虫 阅读(207) 评论(0) 推荐(0) 编辑