思路

  1. 统计两个链表的长度,并记录两个链表尾结点,判断是否相同。
  2. 比较链表长度,让较长的链表走|lenA-lenB|步数,使得两个俩表剩余部分长度相等
  3. 两个链表一起走,走到相同节点,即相交节点。

实现

class Solution {public:ListNode * getIntersectionNode(ListNode *headA, ListNode *headB) {if (headA == NULL || headB == NULL)return NULL;ListNode* cur1 = headA;ListNode* cur2 = headB;int lenA = 0;int lenB = 0;while (cur1->next != NULL){lenA++;cur1 = cur1->next;}while (cur2->next != NULL){lenB++;cur2 = cur2->next;}if (cur1 != cur2)return NULL;cur1 = headA;cur2 = headB;if (lenA > lenB){int n = lenA - lenB;while (n != 0){cur1 = cur1->next;n--;}}else{int n = lenB - lenA;while (n != 0){cur2 = cur2->next;n--;}}while (cur1 != cur2) {cur1 = cur1->next;cur2 = cur2->next;}return cur1;}
};

LeetCode 160. 相交链表(c++实现)相关推荐

  1. Leetcode 160.相交链表

    难度:简单 频率:140 题目 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表不存在相交节点,返回 null . 解题方法:双指针遍历 解题 ...

  2. Leetcode 160. 相交链表 解题思路及C++实现

    解题思路: 先将两个链表构建成一个环,定义两个快慢指针,当它们相遇时,将fast指针从头结点往后遍历,每次走一步,当这两个指针再次相遇时,该节点就是相交节点. /*** Definition for ...

  3. Leetcode 160 相交链表 (每日一题 20210802)

    给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表没有交点,返回 null .图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中 ...

  4. [leetcode]160.相交链表

    给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表没有交点,返回 null . 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结 ...

  5. [leetcode] 160.相交链表

    给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表没有交点,返回 null . 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结 ...

  6. leetcode 160. 相交链表(双指针)

    给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表没有交点,返回 null . 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结 ...

  7. LeetCode 160. 相交链表

    文章目录 1. 题目信息 2. 解题 2.1 计算长度 2.2 交替遍历 1. 题目信息 编写一个程序,找到两个单链表相交的起始节点. <剑指Offer>同题:面试题52. 两个链表的第一 ...

  8. 【LeetCode】【HOT】160. 相交链表

    [LeetCode][HOT]160. 相交链表 文章目录 [LeetCode][HOT]160. 相交链表 package hot;class ListNode{int val;ListNode n ...

  9. 【Leetcode】拿捏链表(四)——160. 相交链表、141. 环形链表、142. 环形链表 II

    作者:一个喜欢猫咪的的程序员 专栏:<Leetcode> 喜欢的话:世间因为少年的挺身而出,而更加瑰丽.                                  --<人民 ...

最新文章

  1. AI一分钟|苹果无人车可根据乘客情绪调整行车方式;快商通完成近亿元融资
  2. spring配置datasource三种方式 数据库连接
  3. Web App和Native App 谁将是未来
  4. Django 出现 “multiple primary key defined”报错
  5. BERT-of-Theseus:基于模块替换的模型压缩方法
  6. org.apache.commons.lang.StringUtils
  7. 进程中的信号赋值与变量赋值
  8. 计算机网络之网络层:9、BGP协议
  9. MQ如何防止消息丢失
  10. kuboard使用mysql_基于 Kubernetes 的微服务图形化管理界面 Kuboard
  11. mysql的增加命令_如何为mysql增加自定义命令
  12. js省市二级联动;)
  13. iis出现HTTP 错误 403.14 - Forbidden Web问题
  14. 数据挖掘技术有哪几种
  15. 神来之笔之傅里叶变换(频谱)
  16. 深度学习(六):炼数成金的Tensorflow教程学习笔记(含代码)
  17. [软件测试]软件测试的原则及软件质量
  18. 阿里云物联网平台-数据解析脚本详解
  19. 利用dcmtk工具查询PACS,找到同一患者两次以上的检查的数据
  20. Word2010怎么给文档设置权限用密码进行加密防止他人查看

热门文章

  1. 【调剂】北京林业大学工学院的老师实验室招机械工程学硕/专硕调剂生,主要进行人工智能、智能检测、机械臂控制研究...
  2. DateTime.Now时间转换
  3. flink mysql sink_聊聊flink的sink
  4. midjourney starter入门笔记:当代的神笔马良
  5. 十六进制常用颜色值,RGB颜色值
  6. 两种常见的台式计算机,台式电脑设置开机自动读系统盘的两种设置方法
  7. fiddler的详细分析
  8. 【Apollo】二. Apollo简介
  9. 为什么每个浏览器的User-Agent都有Mozilla字样
  10. 自我学习总结之——NFV