本站消息

  出租广告位,需要合作请联系站长

  今日名言-想象你自己对困难作出的反应,不是逃避或绕开它们,而是面对它们,同它们打交道,以一种进取的和明智的方式同它们奋斗 。——马克斯威尔·马尔兹

  今日名言-用谅解、宽恕的目光和心理看人、待人。人就会觉得葱笼的世界里,春意盎然,到处充满温暖。——蔡文甫


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

史上最浪漫的题,程序员都哭了

发布于2021-07-24 21:21     阅读(890)     评论(0)     点赞(19)     收藏(5)


浪漫相遇

你变成我,走过我走过的路。
我变成你,走过你走过的路。
然后我们便相遇了…
我宣布,这道题被评为今年最感动的题。

题目

输入两个链表,找出它们的第一个公共节点。

如下面的两个链表:

在这里插入图片描述啊飒

在节点 c1 开始相交。

思路

我们使用两个指针 node1,node2 分别指向两个链表 headA,headB 的头结点,然后同时分别逐结点遍历,当 node1 到达链表 headA 的末尾时,重新定位到链表 headB 的头结点;当 node2 到达链表 headB 的末尾时,重新定位到链表 headA 的头结点。

这样,当它们相遇时,所指向的结点就是第一个公共结点。

在这里插入图片描述

代码

public class Solution {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        ListNode l1=headA;
        ListNode l2=headB;
         if(headA == null || headB == null) return null;
        while(l1!=l2){
             
            l1=l1.next;
            l2=l2.next;
            if (l1==null&&l2==null){
                    return  null;
                }
            if(l1==null){
                l1=headB;
            }
            if(l2==null){
                l2=headA;
            }
            
        }
        return l1;
    }
}

如果两个指针走完两个链表,也没有相交,就返回null

 if (l1==null&&l2==null){
                    return  null;
                }

原文链接:https://blog.csdn.net/qq_47917118/article/details/119005565



所属网站分类: 程序员的那点事

作者:你爱不爱我

链接:http://www.pythonpdf.com/blog/article/265/d415641086a178527dbb/

来源:编程知识网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

19 0
收藏该文
已收藏

评论内容:(最多支持255个字符)