leetcode的题目160

160. 相交链表

编写一个程序,找到两个单链表相交的起始节点。

例如,下面的两个链表:


在节点 c1 开始相交。

注意:

如果两个链表没有交点,返回 null.

在返回结果后,两个链表仍须保持原有的结构。

可假定整个链表结构中没有循环。

程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。

思路:先算出链表A的长度,lenA;B的长度lenB,lenDif=(lenA-lenB)的绝对值;定义两个指针,并让指向长链的指针先走lenDif步,然后两个指针每次分别移动一步,若两个指针指向同一节点,则返回该节点,若最后两个指针都指向null,则返回null


你可能感兴趣的:(leetcode的题目160)