Leetcode 160.相交链表 JavaScript (Day 9)

js一刷 哈希表

javascript 复制代码
var getIntersectionNode = function(headA, headB) {
    const idx=new Map();
    let p1=headA;
    while(p1){
        idx.set(p1,1);
        p1=p1.next;
    }
    let p2=headB;
    while(p2){
        if(idx.has(p2)) return p2;
        p2=p2.next;
    }
};

js 一刷 双指针

javascript 复制代码
var getIntersectionNode = function(headA, headB) {
   	let p1=headA;
    let p2=headB;
    while(p1!=p2){
        p1=p1?p1.next:headB;
        p2=p2?p2.next:headA;
    }
    return p1;
};

第二种方法算法核心:遍历完第一个链表后遍历第二个链表,两个指针一定会同时到达相交点,如果没有相交点,一定会同时到达空结点

相关推荐
爱编程的小吴2 小时前
【力扣练习题】热题100道【哈希】189. 轮转数组
算法·leetcode·哈希算法
再睡一夏就好2 小时前
LInux线程池实战:单例模式设计与多线程安全解析
linux·运维·服务器·开发语言·javascript·c++·ecmascript
Beginner x_u2 小时前
从 Promise 到 async/await:一次把 JavaScript 异步模型讲透
javascript·ajax·promise·异步·async await
leoufung2 小时前
LeetCode 322. Coin Change:从错误思路到正确一维 DP
算法·leetcode·职场和发展
韩曙亮3 小时前
【Web APIs】移动端轮播图案例 ( 轮播图自动播放 | 设置无缝衔接滑动 | 手指滑动轮播图 | 完整代码示例 )
前端·javascript·css·html·轮播图·移动端·web apis
2501_946244783 小时前
Flutter & OpenHarmony OA系统图片预览组件开发指南
android·javascript·flutter
爱编程的小吴3 小时前
【力扣练习题】热题100道【哈希】560. 和为 K 的子数组
算法·leetcode·哈希算法
Swift社区3 小时前
LeetCode 463 - 岛屿的周长
算法·leetcode·职场和发展
yuuki2332333 小时前
【C++】掌握list:C++链表容器的核心奥秘
c++·后端·链表·list