南宁市网站建设_网站建设公司_Banner设计_seo优化
2026/1/8 22:05:30 网站建设 项目流程

求解代码

publicListNoderemoveNthFromEnd(ListNodehead,intn){if(head==null||n<=0){returnhead;}// 虚拟头节点:解决删除头节点时无前驱的边界问题ListNodedummy=newListNode(-1);dummy.next=head;ListNodepre=dummy;ListNodefast=head;ListNodeslow=head;// 快指针先单独移动n步for(inti=0;i<n;i++){// 若fast已为null,说明n>链表长度,无节点可删,直接返回原链表if(fast==null){returndummy.next;}fast=fast.next;}// 快慢指针同步移动,直到快指针到链表末尾(fast=null)while(fast!=null){fast=fast.next;// 快指针先后移pre=slow;// 把pre更新为当前的slow(此时slow还没动,pre"记住"了slow现在的位置)slow=slow.next;// slow再后移(此时pre已经是slow移动后的上一个节点)}// 执行删除操作:让前驱节点的next跳过slow,指向slow的下一个节点pre.next=slow.next;// 返回新链表头returndummy.next;}

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

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

立即咨询