判断两个链表是否相交(带环)

 

 

解决方案:

1.找出链表1的环入口节点a1,链表2的环入口节点a2;

2.如果a1=a2; 说明两个链表可能在入环之前或者入环第一个节点相交;将a1,a2作为两个链表的最后一个节点,转化为不带环的链表相交;其实在这种情况下已经说明两个链表已经相交了。

3.如果a1!=a2;以a1为基准节点进行while循环,如果在循环中找到跟a2相同的节点,说明两个链表相交;如果没找到,说明不相交。

 

#如果1个链表不带环,1个链表带环;则两个链表必不相交;

 

posted @ 2015-04-15 22:22  hy1hy  阅读(268)  评论(0编辑  收藏  举报