Leetcode 19. 删除链表的倒数第 N 个结点 JavaScript (Day 11)

js一刷自解哈希表

javascript 复制代码
var removeNthFromEnd = function(head, n) {
    let idx=new Map();
    let cur=head;
    while(cur){
        idx.set(cur,1);
        cur=cur.next;
    }
    let keys=[...idx.keys()];
    let temp=keys[keys.length-n];
    if(keys.length-n===0){
        return temp.next;
    }
    let prev=keys[keys.length-n-1];
    prev.next=temp.next;
    return head;



};

js一刷 (哨兵+双指针)

javascript 复制代码
var removeNthFromEnd = function(head, n) {
    let dummy=new ListNode(0,head);
    let left=dummy;
    let right=dummy;
    while(n){
        right=right.next;
        n--;
    }
    while(right.next){
        left=left.next;
        right=right.next;
    }
    let temp=left.next;
    left.next=temp.next;
    return dummy.next;
    
};

哨兵dummy的用法:
有删除头结点的操作的时,用哨兵
当头结点为空,可能返回空结点时,用哨兵

相关推荐
洛水水1 分钟前
【力扣100题】48.乘积最大子数组
算法·leetcode·职场和发展
丘比特惩罚陆2 分钟前
制作类似aimlab的测试手速反应力的小游戏
开发语言·javascript·visual studio
YL200404262 分钟前
042将有序数组转换为二叉搜索树
数据结构·算法·leetcode
Data_Journal3 分钟前
Node.js网络爬取指南——简单易上手!
大数据·linux·服务器·前端·javascript
洛水水7 分钟前
【力扣100题】50.最长有效括号
算法·leetcode·职场和发展
兰令水12 分钟前
topcode【随机算法题】【2026.5.15打卡-java版本】
java·算法·leetcode
洛水水13 分钟前
【力扣100题】44.完全平方数
算法·leetcode·职场和发展
浅念-9 小时前
递归解题指南:LeetCode经典题全解析
数据结构·算法·leetcode·职场和发展·排序算法·深度优先·递归
ZC跨境爬虫10 小时前
跟着MDN学HTML_day_48:(Node接口)
前端·javascript·ui·html·音视频
洛水水10 小时前
【力扣100题】33.验证二叉搜索树
算法·leetcode·职场和发展