【d44】【Java】【力扣】160.相交链表

思路

先把a链表都放进 一个hashSet集合

再遍历B链表,逐个放进hashSet集合

如果无法放进,说明这个节点就是相交节点

代码

复制代码
import java.util.HashSet;

public class Main {
    public static void main(String[] args) {

    }

   public class ListNode {
       int val;
       ListNode next;
       ListNode(int x) {
           val = x;
           next = null;
       }
   }

    public class Solution {
        public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
            //遍历A链表,并都放入hashSet中
            ListNode cur = headA;
            HashSet<ListNode> hashSet = new HashSet<>();
            //每一个都添加到一个hasSet中
            while (cur != null) {
                hashSet.add(cur);
                cur = cur.next;
            }
            //cur指向头部
            //遍历b,如果放不进,说明遇到相交节点
            cur=headB;
            while (cur != null) {
                if(!hashSet.add(cur)){
                    return cur;
                }
            }
            return null;
        }
    }


}

记录

总结

相关推荐
I AM_SUN几秒前
98. 验证二叉搜索树
数据结构·c++·算法·leetcode
tmacfrank9 分钟前
Java 原生网络编程(BIO | NIO | Reactor 模式)
java·开发语言·网络
python算法(魔法师版)10 分钟前
.NET NativeAOT 指南
java·大数据·linux·jvm·.net
沐土Arvin10 分钟前
深入理解 requestIdleCallback:浏览器空闲时段的性能优化利器
开发语言·前端·javascript·设计模式·html
专注VB编程开发20年12 分钟前
VB.NET关于接口实现与简化设计的分析,封装其他类
java·前端·数据库
tyatyatya18 分钟前
MATLAB的神经网络工具箱
开发语言·神经网络·matlab
unityのkiven20 分钟前
C++中析构函数不设为virtual导致内存泄漏示例
开发语言·c++
大数据魔法师35 分钟前
Redis(三) - 使用Java操作Redis详解
java·数据库·redis
天天爱吃肉821844 分钟前
车载以太网驱动智能化:域控架构设计与开发实践
java·运维·网络协议·微服务
IT光1 小时前
Redis 五种类型基础操作(redis-cli + Spring Data Redis)
java·数据库·redis·spring·缓存