LeetCode 160. 相交链表(c++实现)
思路
- 统计两个链表的长度,并记录两个链表尾结点,判断是否相同。
- 比较链表长度,让较长的链表走|lenA-lenB|步数,使得两个俩表剩余部分长度相等
- 两个链表一起走,走到相同节点,即相交节点。
实现
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++实现)相关推荐
- Leetcode 160.相交链表
难度:简单 频率:140 题目 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表不存在相交节点,返回 null . 解题方法:双指针遍历 解题 ...
- Leetcode 160. 相交链表 解题思路及C++实现
解题思路: 先将两个链表构建成一个环,定义两个快慢指针,当它们相遇时,将fast指针从头结点往后遍历,每次走一步,当这两个指针再次相遇时,该节点就是相交节点. /*** Definition for ...
- Leetcode 160 相交链表 (每日一题 20210802)
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表没有交点,返回 null .图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中 ...
- [leetcode]160.相交链表
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表没有交点,返回 null . 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结 ...
- [leetcode] 160.相交链表
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表没有交点,返回 null . 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结 ...
- leetcode 160. 相交链表(双指针)
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表没有交点,返回 null . 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结 ...
- LeetCode 160. 相交链表
文章目录 1. 题目信息 2. 解题 2.1 计算长度 2.2 交替遍历 1. 题目信息 编写一个程序,找到两个单链表相交的起始节点. <剑指Offer>同题:面试题52. 两个链表的第一 ...
- 【LeetCode】【HOT】160. 相交链表
[LeetCode][HOT]160. 相交链表 文章目录 [LeetCode][HOT]160. 相交链表 package hot;class ListNode{int val;ListNode n ...
- 【Leetcode】拿捏链表(四)——160. 相交链表、141. 环形链表、142. 环形链表 II
作者:一个喜欢猫咪的的程序员 专栏:<Leetcode> 喜欢的话:世间因为少年的挺身而出,而更加瑰丽. --<人民 ...
最新文章
- AI一分钟|苹果无人车可根据乘客情绪调整行车方式;快商通完成近亿元融资
- spring配置datasource三种方式 数据库连接
- Web App和Native App 谁将是未来
- Django 出现 “multiple primary key defined”报错
- BERT-of-Theseus:基于模块替换的模型压缩方法
- org.apache.commons.lang.StringUtils
- 进程中的信号赋值与变量赋值
- 计算机网络之网络层:9、BGP协议
- MQ如何防止消息丢失
- kuboard使用mysql_基于 Kubernetes 的微服务图形化管理界面 Kuboard
- mysql的增加命令_如何为mysql增加自定义命令
- js省市二级联动;)
- iis出现HTTP 错误 403.14 - Forbidden Web问题
- 数据挖掘技术有哪几种
- 神来之笔之傅里叶变换(频谱)
- 深度学习(六):炼数成金的Tensorflow教程学习笔记(含代码)
- [软件测试]软件测试的原则及软件质量
- 阿里云物联网平台-数据解析脚本详解
- 利用dcmtk工具查询PACS,找到同一患者两次以上的检查的数据
- Word2010怎么给文档设置权限用密码进行加密防止他人查看
热门文章
- 【调剂】北京林业大学工学院的老师实验室招机械工程学硕/专硕调剂生,主要进行人工智能、智能检测、机械臂控制研究...
- DateTime.Now时间转换
- flink mysql sink_聊聊flink的sink
- midjourney starter入门笔记:当代的神笔马良
- 十六进制常用颜色值,RGB颜色值
- 两种常见的台式计算机,台式电脑设置开机自动读系统盘的两种设置方法
- fiddler的详细分析
- 【Apollo】二. Apollo简介
- 为什么每个浏览器的User-Agent都有Mozilla字样
- 自我学习总结之——NFV