160. 相交链表
编写一个程序,找到两个单链表相交的起始节点。
例如,下面的两个链表:
在节点 c1 开始相交。
注意:
如果两个链表没有交点,返回 null.
在返回结果后,两个链表仍须保持原有的结构。
可假定整个链表结构中没有循环。
程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。
思路:先算出链表A的长度,lenA;B的长度lenB,lenDif=(lenA-lenB)的绝对值;定义两个指针,并让指向长链的指针先走lenDif步,然后两个指针每次分别移动一步,若两个指针指向同一节点,则返回该节点,若最后两个指针都指向null,则返回null
网友评论