美文网首页
leetcode_相交链表

leetcode_相交链表

作者: 壹叶壹 | 来源:发表于2018-06-05 23:18 被阅读0次

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

例如,下面的两个链表:

在节点 c1 开始相交。

注意:

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

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

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

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

我的思路:由于相交链表后面的长度都是一样的,所以当减去长链表前面多出的一部分,我们就可以直接同步调遍历两个链表,找到两个链表一样的节点即可;

代码实现:

更高效简介的代码:

这份代码时提交中耗时最少的,其本质思想是一样的,都是先将长链表遍历到与短链表相同的长度,再查找两者相同的节点。但是其在长链表消减时更加精巧,他先将两个链表都往后遍历,直到有一个链表遍历完了,此时未遍历完的链表后面剩的节点数就是其相对于短链表多的节点数。这时候,当前节点向后移动一个,其头节点就向后移动一个,当遍历完时。两个链表的长度就相同了;

                                                                 咯咯咯

相关文章

  • leetcode_相交链表

    编写一个程序,找到两个单链表相交的起始节点。 例如,下面的两个链表: 在节点 c1 开始相交。 注意: 如果两个链...

  • 链表--相交链表

    目录[https://www.jianshu.com/p/85e18c21317a] 题号[https://lee...

  • 链表相交的问题(java)

    判断两个无环链表是否相交首先我们要知道相交是什么概念两个链表相交.png现在大家都知道了,两个链表相交,则两个链表...

  • 相交链表

    编写一个程序,找到两个单链表相交的起始节点。 注意: 如果两个链表没有交点,返回 null.在返回结果后,两个链表...

  • 相交链表

    相交链表 编写一个程序,找到两个单链表相交的起始节点。 注意: 如果两个链表没有交点,返回 null. 在返回结果...

  • 相交链表

    题目 编写一个程序,找到两个单链表相交的起始节点。 例如,下面的两个链表: A: a1 → a2...

  • 相交链表

    题目 难度级别:简单 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 ...

  • 相交链表

    题目描述:编写一个程序,找到两个单链表相交的起始节点。 示例: 输入:intersectVal = 8, list...

  • 相交链表

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/inte...

  • 相交链表

    编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:in...

网友评论

      本文标题:leetcode_相交链表

      本文链接:https://www.haomeiwen.com/subject/ukhvsftx.html