2021-05-21Leetcdoe160.相交链表
1.1我的思路,
本质上是让两个链表走了两端相同的路程(a+b+c),所以最终会相遇
class Solution {public:ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {if(!headA || !headB)return NULL;ListNode *pA = headA,*pB = headB;for(int i = 0;i < 2;i++){while(pA && pB){pA = pA->next;pB = pB->next;}if(!pA)pA = headB;else pB = headA;}*//*while(pA && pB){pA = pA->next;pB = pB->next;}if(!pA)pA = headB;else pB = headA;while(pB && pA){pA = pA->next;pB = pB->next;}if(!pA)pA = headB;else pB = headA;//这两段重复的代码能不能写成一段*//*while(pB && pA && pB != pA){pA = pA->next;pB = pB->next;}if(pB){return pB;}else return NULL;}
};
由于有两端程序相同,使用for循环控制,但是这样会慢一点可能是因为跳转语句的缘故
别人较为精简的代码
class Solution {public:ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {ListNode *A = headA, *B = headB;while (A != B) {A = A != nullptr ? A->next : headB;B = B != nullptr ? B->next : headA;}return A;}
};作者:jyd
链接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/solution/intersection-of-two-linked-lists-shuang-zhi-zhen-l/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
如果两条链表之间没有交点就视为相交于null
2021-05-21Leetcdoe160.相交链表相关推荐
- 【每日一算法】相交链表
微信改版,加星标不迷路! 每日一算法 - 相交链表 编写一个程序,找到两个单链表相交的起始节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:intersectVal = 8, l ...
- 《LeetCode力扣练习》第160题 相交链表 Java
<LeetCode力扣练习>第160题 相交链表 Java 一.资源 题目: 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表不存 ...
- leetcode 160 简单难度 相交链表
160. 相交链表 编写一个程序,找到两个单链表相交的起始节点. 如下面的两个链表: 在节点 c1 开始相交. 输入:intersectVal = 8, listA = [4,1,8,4,5], li ...
- 文巾解题 160. 相交链表
1 题目描述 2 解题思路 2.1 哈希表 遍历listA,把每个节点(以及后继节点)放入一个list中.遍历完A之后遍历B,如果B的某个节点(以及后继节点)在这个list中,那么我们就找到了相交的部 ...
- LeetCode-链表-160. 相交链表
160. 相交链表 思路一:使用set用到了额外的内存,没有达到题目要求 /*** Definition for singly-linked list.* struct ListNode {* int ...
- python 相交链表
|相交链表 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表不存在相交节点,返回 null . 图示两个链表在节点 c1 开始相交: 题目数据 ...
- LeetCode Algorithm 160. 相交链表
160. 相交链表 Ideas 这题之前左神算法课的时候也讲过,那是一个带环的相交链表,不过原理都是一样的. 双指针,a指针先沿着headA开始走,走到头之后开始沿着headB继续走,b指针先沿着he ...
- 160. 相交链表 golang
160. 相交链表 计算两个链表长度,让长的先走到两个链表一样长,然后找交点 编写一个程序,找到两个单链表相交的起始节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:inters ...
- 链表题目----5 相交链表 和 环形链表 和 返回链表开始入环的第一个节点
相交链表 思路 链表交叉不可能是x型 因为有可能两个链表不等长,所以我们必须让他们从同一起跑位置去起跑 从同一起跑位置出发,依次比较每个结点的地址是否相同 /*** Definition for si ...
- 【LeetCode】【HOT】160. 相交链表
[LeetCode][HOT]160. 相交链表 文章目录 [LeetCode][HOT]160. 相交链表 package hot;class ListNode{int val;ListNode n ...
最新文章
- aptana手动配置python环境_Aptana Studio 3中通过Auto Config配置PyDev中Python出错
- mysql列偏移_MySQL:如何对待分布偏移的数据
- 齐次坐标,怎么你也叫Homogeneous
- 【BZOJ2959】【codevs2002】长跑,维护双联通分量
- ECSHOP删除商品名称或文章标题后的省略号
- .NET3.5 GDI+ 图形操作2
- 彻底理解数字图像处理中的卷积-以Sobel算子为例
- vscode 添加库头文件_VSCode配置C/C++并添加非工作区头文件的方法
- uniapp 调用阿里云OCR身份证识别
- JS常用正则表达式大全
- Android腾讯信鸽推送
- 计算机网络之广域网基础以及华为eNSP实验配置
- Spring框架学习第二部分
- 三维软件中制作动画导入Unity中使用
- Duang,Duang,H5 +酷炫效果+干货,此时不收更待何时
- 我们的宇宙,在某种意义上,是最好的一个
- Linux文件查找的4个命令
- 高桥智隆:未来机器人将取代智能手机,并成为人类的朋友
- 如何用MathType编辑集合运算符号
- JPEG压缩如何工作?
热门文章
- (2018-2)解一元一次方程
- Vue安装及创建第一个Vue项目
- Articulate、iSpring与Snap!功能对比分析
- python中大顶堆和小顶堆
- windows识别android串口,windows平台修改libnfc 1.7.0使其支持pn532_uart串口
- Kaggle_news_stock简单文本特征处理
- Flash鼠绘入门第一课:认识鼠绘
- 机器学习应用篇(八)——基于BP神经网络的预测
- 世界各国的会计年度、记账本位币
- ubuntu16.04 catkin_make报错No rule to make target '/usr/lib/x86_64-linux-gnu/libGL.so'