☰
Leetcode 19. 删除链表的倒数第 N 个结点 JavaScript (Day 11)
2026/10/5 9:47:42 网站建设 项目流程

js一刷自解哈希表

varremoveNthFromEnd=function(head,n){letidx=newMap();letcur=head;while(cur){idx.set(cur,1);cur=cur.next;}letkeys=[...idx.keys()];lettemp=keys[keys.length-n];if(keys.length-n===0){returntemp.next;}letprev=keys[keys.length-n-1];prev.next=temp.next;returnhead;};

js一刷 (哨兵+双指针)

varremoveNthFromEnd=function(head,n){letdummy=newListNode(0,head);letleft=dummy;letright=dummy;while(n){right=right.next;n--;}while(right.next){left=left.next;right=right.next;}lettemp=left.next;left.next=temp.next;returndummy.next;};

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询