统计两个链表的长度,然后长的先往前走二者之差的步数,然后开始一个节点一个节点的判断是否是相同的节点,直到链表的末尾都没有相同的节点,则说明没有相交
另一种比较巧妙的方法:
两个指针都从头开始走,如果这个指针走完了,就开始从另一个指针的头结点开始走,当两个指针相同时,如果不为null那么就是相遇的节点,如果都是null那么就说明没有相遇的节点
比如说下图中:上面长度为a,下面长度为b,公共的长度为c;那么当都走过了a+b+c长度之后,他们两个就是处在了相交位置
类似于LeetCode141.环形链表
题目 代码
网友评论