LEETCODE - 160【相交链表】
2024-09-15 23:02:19
/**
* 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) {
/**
定义两个指针, 第一轮让两个到达末尾的节点指向另一个链表的头部, 最后如果相遇则为交点(在第一轮移动中恰好抹除了长度差)
两个指针等于移动了相同的距离, 有交点就返回, 无交点就是各走了两条指针的长度
**/
if(headA == NULL || headB == NULL) return NULL;
ListNode *pA = headA, *pB = headB;
// 在这里第一轮体现在pA和pB第一次到达尾部会移向另一链表的表头, 而第二轮体现在如果pA或pB相交就返回交点, 不相交最后就是NULL==NULL
while(pA != pB) {
pA = pA == NULL ? headB : pA->next;
pB = pB == NULL ? headA : pB->next;
}
return pA;
}
};
最新文章
- PHP 进程详解
- winform进程、线程、TreeView递归加载
- git remote 相关用法
- BZOJ4546(原) : 三元组
- ef第一次启动较慢
- idea首次提交项目
- matlab练习程序(矩形变换为单连通形状)
- break , continue , exit
- Swift游戏实战-跑酷熊猫 09 移除场景之外的平台
- E2 结帐方案如何理解?
- BroadcastReceiver
- 关于《一步步学习ASP.NET MVC3》系列发布时间的说明
- mysql datestamp坑
- python 凸包(经纬度) + 面积[近似]
- Android开发系列之屏幕密度和单位转换
- vue过渡和animate.css结合使用
- shiro整合oauth
- JS中的运算符和JS中的分支结构
- ResultSet集合查询字段名称(转载)
- php的语法
热门文章
- 用 UniRx 实现 Timeline 式的异步操作
- Ribbon负载均衡服务调用
- tf
- MySQL主从配置This operation cannot be performed with a running slave io thread; run STOP SLAVE IO_THREAD FOR CHANNEL '' first.
- grpc-metadata
- protoc-gen-validate (PGV)
- AES加密模式
- 实现一个List集合中的某个元素的求和
- <;script>;元素
- CF460C Present