美文网首页
链表(二)——链表相交点

链表(二)——链表相交点

作者: 旺叔叔 | 来源:发表于2018-09-24 21:10 被阅读0次

LeetCode_160_IntersectionofTwoLinkedLists

题目分析:

求交点,不可以利用上题方法,先翻转两个链表,然后遍历直到分叉,因为链表无法指向两个子节点。
巧妙的方式,将a,b两链表首尾相连并遍历,则一定会在交点处相遇。

解法:

public static ListNode getIntersectionNode(ListNode headA, ListNode headB) {
    if (headA == null || headB == null) return null;
    ListNode a = headA, b = headB;
    while (a != b) {
        a = (a != null) ? a.next : headB;
        b = (b != null) ? b.next : headA;
    }
    return a;
}

相关文章

  • 常见的算法题

    一、找两个链表的交点 存在集中特殊情况: 1、链表长度相同且没交点 2、链表长度相同有交点 3、长度不同有交点(最...

  • 链表(二)——链表相交点

    LeetCode_160_IntersectionofTwoLinkedLists 题目分析: 解法:

  • 链表交点

    var getIntersectionNode = function(headA, headB) { if(!...

  • 求两个链表的交点

    已知链表A的头节点指针headA,链表B的头节点指针headB,两个链表相交,求两链表交点对应的节点。[](Lee...

  • 2.求两个链表的交点

    已知链表A的头结点指针headA,链表B的头结点指针headB,两个链表相交,求两链表交点对应的节点。 注意: 如...

  • 链表环与链表交点

    1.约瑟夫环问题 示例代码: 2. 链表节点 解法一:空间O(1) 空间O(M*N) 实现代码: 解法二: 解法三...

  • 链表

    单向链表 链表反转 判断是否有环,找链表的中间节点 快慢指针 找环的入口(求两个链表的交点可以转化成这个问题) p...

  • Swift - LeetCode - 相交链表

    题目 相交链表 问题: 编写一个程序,找到两个单链表相交的起始节点。 示例: 说明: 如果两个链表没有交点,返回 ...

  • 算法

    排序:排序链表:iOS单向链表数据结构、判断两个链表是否相交并找出交点求解1-100之间的所有素数/质数:http...

  • 相交链表

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

网友评论

      本文标题:链表(二)——链表相交点

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