
剑指Offer--Java--两个链表的第一个公共结点
发布日期:2021-05-04 06:37:19
浏览次数:25
分类:原创文章
本文共 1009 字,大约阅读时间需要 3 分钟。
题目描述
输入两个链表,找出它们的第一个公共结点。
当不存在公共节点时,返回空节点。
样例描述
给出两个链表如下所示:A: a1 → a2 ↘ c1 → c2 → c3 ↗ B: b1 → b2 → b3输出第一个公共节点c1/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */
思路
- 利用
HashSet
,先将链表A加入到set
中,由于HashSet
有去重效果,所以当链表B试图插入A已经有的重复元素时,add
会返回false
,此时指向的就是重复结点。 - 注意判断A,B是否本身为空链表,此时直接返回
null
。
代码
class Solution { public ListNode findFirstCommonNode(ListNode headA, ListNode headB) { Set<ListNode> set=new HashSet<>(); if(headA==null||headB==null) return null; while(headA!=null){ set.add(headA); headA=headA.next; } while(headB!=null){ //放入失败会返回false! if(!set.add(headB)){ return headB; //此时指向的就是公共结点 } headB=headB.next; } return null; }}
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年03月18日 03时26分56秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
SecureCRT注册机
2019-03-04
供应商解决了mini-LED的生产问题 新款MBP蓄势待发?
2019-03-04
new对象实际是在干嘛,懂了后String相关面试题随便推导
2019-03-04
Spring中@EnableCaching如何集成redis
2019-03-04
爱了!Alibaba技术官甩出的SpringCloud笔记,GitHub已标星81.6k
2019-03-04
菜鸟程序员,被无良HR欺骗,因祸得福,竟“意外”拿下美团offer
2019-03-04
已跪,Java全能笔记爆火,分布式/开源框架/微服务/性能调优全有
2019-03-04
吓我一跳?看了线程和线程池的对比,才知道池化技术到底有多牛
2019-03-04
给公司妹子讲了好久,头都大了,一个SQL语句是如何执行的?
2019-03-04
阿里大牛手撕SpringBoot,Cloud,Nginx与Docker,你凭什么搞不懂
2019-03-04
结局已定,一点不慌,秋招京东三面,给了意料之中的20KOffer。
2019-03-04
Java开发5年的我偶然被几条朋友圈打击,成功点燃,别说了,不去阿里对不起自己!
2019-03-04
面试清单(Java岗):算法+Spring+中间件+设计模式+Java+JVM+数据库
2019-03-04
凭借这份pdf,安卓顺利转行Java,成功4面拿下美团offer
2019-03-04
团体程序设计天梯赛-练习集 L1-006 连续因子 (20分)
2019-03-04
编程技巧妙用
2019-03-04
团体程序设计天梯赛-练习集 L1-023 输出GPLT (20分)
2019-03-04
团体程序设计天梯赛-练习集 L2-007 家庭房产 (25分) 并查集思想+坑点分析
2019-03-04
暴打算法:王者级数据结构与LeetCode笔记,一路绿灯杀进字节Java岗
2019-03-04
团体程序设计天梯赛-练习集 L2-020 功夫传人 (25分) dfs深搜
2019-03-04