
Leetcode160 两个链表是否相交
发布日期:2025-04-05 03:17:20
浏览次数:12
分类:精选文章
本文共 903 字,大约阅读时间需要 3 分钟。
leetcode 160题,判断两个链表是否相交
此题可以说是算法界第一深情,如果我走过你走过的路,那么我们就可能会相遇。
具体解决思路如下
两个链表是否相交有两种可能,一种不相交,一种相交,首先来看下相交的情况,那么它们会有公共部分,假设公共部分长度为c,然后链表一中不想交部分为a, 链表二中不想交部分为b,那么链表一的长度可以表示为a + c, 链表2的长度为b + c, 想在弄两个指针,一个指针A指向链表一的头部,另一个指针B指向链表b的头部,两个指针向后遍历,如果到达了尾部,那么就从另一个链表的头部开始遍历,直到两个节点相同,即找到了交叉节点,那么指针A就走过了a+c +b的长度,指针B走过了b+c +a的长度,可以看到它们是一样大的,所以可以找到相同的节点,同理,如果两个链表不想交,那么都走完两个链表后,节点都为null,代表没有交点。
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public ListNode getIntersectionNode(ListNode headA, ListNode headB) { ListNode tempA = headA; ListNode tempB = headB; while(tempA != tempB){ tempA = tempA == null ? headB : tempA.next; tempB = tempB == null ? headA : tempB.next; } return tempA; }}
具体代码如下
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年05月01日 18时50分59秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Kubernetes实战(一)-Kubernetes集群搭建
2025-04-03
Kubernetes实战(三十一)-Calico网络部署(推荐)
2025-04-03
Kubernetes实战(三十三)-外部Etcd集群部署与调优(更安全的数据存储策略)
2025-04-03
Kubernetes实战(三)-定向调度(NodeSelector)
2025-04-03
Kubernetes实战(二十九)-集群资源管理(CPU & Memory)
2025-04-03
Kubernetes实战(二十二)-Etcd 集群部署(安全)
2025-04-03
Kubernetes实战(二十八)-环境共享与隔离(Namespace)
2025-04-03
Kubernetes实战(十五)-敏感数据管理(Secret)
2025-04-03
Kubernetes对接Ceph存储实现云原生持久化
2025-04-03
Kubernetes对象Service详解
2025-04-03
kubernetes常用工具
2025-04-03
Kubernetes快速上手:部署、使用及核心概念解析
2025-04-03
Kubernetes故障排查与面试汇总
2025-04-03
Kubernetes故障排查实战
2025-04-03
kubernetes混合云平台运维实战项目分享
2025-04-03