zoukankan      html  css  js  c++  java
  • 【手绘漫画】图解LeetCode之相交链表(LeetCode 160)

    在这里插入图片描述

    图解LeetCode刷题计划

    1、写在前面

    手绘漫画系列正式上线!!!“图解LeetCode刷题计划” 来了!!!

    今天是第二十一期,争取每天一期,最多两天一期,欢迎大家监督我。。。
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    2、题目

    首先看一下题目,
    在这里插入图片描述
    非常巧妙的一个题,看到思路的时候都惊呆了,这种如果做过就会有印象,下次遇到可能就能很好地做出来了!
    在这里插入图片描述

    3、正文

    一起来看:

    思路是双指针,分别指向两个链表的头节点,循环这个链表,之后再去循环另一个链表。

    分为两种情况:

    • 一种是没有交点;
      在这里插入图片描述
      循环之后就返回 NULL,因为没有交点。

    • 另一种是有交点;
      在这里插入图片描述
      循环之后两个指针都指向了交点。


    有一种很浪漫的说法,就是——如果有缘,必会相见~
    在这里插入图片描述
    在这里插入图片描述

    4、代码

    /**
     * Definition for singly-linked list.
     * struct ListNode {
     *     int val;
     *     ListNode *next;
     *     ListNode(int x) : val(x), next(NULL) {}
     * };
     */
    class Solution {
    public:
        ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
            auto a=headA,b=headB;
            while(a!=b){
                if(a) a=a->next;
                else a=headB;
                if(b) b=b->next;
                else b=headA;
            }
            return a;
        }
    };
    

    在这里插入图片描述
    在这里插入图片描述

    如果有幸帮到你,请帮我点个【赞】,给个【关注】!如果能顺带【评论】给个鼓励,我将不胜感激。

    如果想要更多的资源,欢迎关注 @我是管小亮,文字强迫症MAX~

  • 相关阅读:
    Laravel 进阶笔记 3
    Laravel 进阶笔记 5
    Laravel 进阶笔记 4
    Laravel 进阶笔记 2
    Laravel 进阶笔记
    Laravel笔记.
    Think PHP-- 笔记3
    git删除远程分支
    Think PHP 3.2.3 伪静态的方法
    解决iframe IE8透明不兼容
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302552.html
Copyright © 2011-2022 走看看