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;
};

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

相关推荐
代码改善世界6 小时前
【C++初阶】双向循环链表:List底层结构的完整实现剖析
c++·链表·list
人道领域6 小时前
【LeetCode刷题日记】:从 LeetCode 经典题看哈希表的场景化应用---数组、HashSet、HashMap 选型与算法实战
算法·leetcode·面试
承渊政道6 小时前
【优选算法】(实战攻坚BFS之FloodFill、最短路径问题、多源BFS以及解决拓扑排序)
数据结构·c++·笔记·学习·算法·leetcode·宽度优先
freeWayWalker6 小时前
Vue通用缩放容器
前端·javascript·vue.js
Hello--_--World6 小时前
VUE:逻辑复用
前端·javascript·vue.js
叫我一声阿雷吧7 小时前
JS 入门通关手册(43):async/await 原理与异常处理(实战 + 面试,彻底搞懂)
javascript·异常处理·promise·前端面试·async/await·generator·异步编程
小陈工11 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
海清河晏11111 小时前
数据结构 | 单循环链表
数据结构·算法·链表
午安~婉15 小时前
Electron桌面应用聊天(续)
前端·javascript·electron
skywalker_1116 小时前
力扣hot100-3(最长连续序列),4(移动零)
数据结构·算法·leetcode