首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【每日一题 lc.160】坚持Leetcode2个月分享

【每日一题 lc.160】坚持Leetcode2个月分享

作者头像
公众号guangcity
发布2021-07-09 15:50:29
发布2021-07-09 15:50:29
31000
代码可运行
举报
文章被收录于专栏:光城(guangcity)光城(guangcity)
运行总次数:0
代码可运行

【每日一题 lc.160】坚持Leetcode2个月分享

LeetCode每日一题已坚持超过2月,在这两个月的时间里同一百多号人一起刷,一起成长。

期间刷过字典树、哈希表、字符串、数学类、二分、滑动窗口、链表、图、递归、动态规划等等数据结构内容。

在刷题当中成长,一起交流,后面将会持续刷题,输出更多算法内容,修炼内功。

今日题目:

【LeetCode每日一题】160. 相交链表

题解:

pA走过的路径为A链+B链

pB走过的路径为B链+A链

pA和pB走过的长度都相同,都是A链和B链的长度之和,相当于将两条链从尾端对齐,如果相交,则会提前在相交点相遇,如果没有相交点,则会在最后相遇。

代码语言:javascript
代码运行次数:0
运行
复制
pA:1->2->3->4->5->6->null->9->5->6->null
pB:9->5->6->null->1->2->3->4->5->6->null
代码语言:javascript
代码运行次数:0
运行
复制
/**
 * 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) {
        ListNode* p = headA, *q = headB;
        while (p != q) {
            p = p ? p->next : headB;
            q = q ? q->next : headA;
        }
        return p;
    }
};

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 光城 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【每日一题 lc.160】坚持Leetcode2个月分享
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档