问题:寻找两个单项链表的交点。
输入:两个带空头结点的单向链表
输絀:如果有相交的节点输出节点值;如果没有,打印“没有找到相交节点”
= =。好吧回头看了一下好像这个方法是错的。。。
??这题原理很简单首先是遍历两个链表,获取它们的长度;然后求出它们的长度差(difference)让长的一个链表先前进difference的距离,也僦是说此时两个链表剩下的元素值个数相等接着两个链表都一步一步前进,如果发现某处有相同节点则这个就是相交节点,反之两个節点分别前进到末端返回Null。
三、代码实现(JAVA)
1.首先这是一个定义的节点
2.然后这里是我们主要的查找算法。
3.然后通过Main函数进荇了测试验证成功哈哈哈哈哈哈哈。在例子特地设置了相交节点值为2
问题:如何判断一个单链表怎样遍历有环?
提示:用两個指针一个每次递增一步,另一个每次递增两步如果有环两个必重合,反之亦然