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

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

相关推荐
Tisfy13 小时前
LeetCode 3315.构造最小位运算数组 II:位运算
算法·leetcode·题解·位运算
郭优秀的笔记13 小时前
html鼠标悬浮提示功能
android·javascript·html
冰暮流星13 小时前
if与switch的区分
javascript
YuTaoShao13 小时前
【LeetCode 每日一题】1292. 元素和小于等于阈值的正方形的最大边长
算法·leetcode·职场和发展
Remember_99313 小时前
【数据结构】深入理解Map和Set:从搜索树到哈希表的完整解析
java·开发语言·数据结构·算法·leetcode·哈希算法·散列表
2501_9447114313 小时前
React性能优化相关hook记录:React.memo、useCallback、useMemo
javascript·react.js·性能优化
梦65013 小时前
Vue 中 v-for 与 v-if 优先级
前端·javascript·vue.js
重生之后端学习13 小时前
25. K 个一组翻转链表
java·数据结构·算法·leetcode·职场和发展
摘星编程13 小时前
在OpenHarmony上用React Native:MapView路线规划
javascript·react native·react.js
木易 士心14 小时前
Vue 响应式数据失效全解析:从原理机制到工程实践
前端·javascript·vue.js