Java怎么删除链表的倒数第N个节点
作者:SoftHope
时间:2023-04-29
浏览:1
解题思路整体思路是让前面的指针先移动n步,之后前后指针共同移动直到前面的指针到尾部为止。首先设立预先指针pre,预先指针是一个小技巧,在第2题中进行了讲解设预先指针pre的下一个节点指向head,设前指针为first,后指针为second,二者都等于prefirst先向前移动n步之后first和second共同向前移动,此时二者的距离为n,当first到尾部时,second的位置恰好为倒数第n个节点的上一个结点。Java代码classSolution{publicListNoderemoveNthFrom
解题思路
整体思路是让前面的指针先移动n步,之后前后指针共同移动直到前面的指针到尾部为止。
首先设立预先指针 pre,预先指针是一个小技巧,在第2题中进行了讲解
设预先指针 pre 的下一个节点指向 head,设前指针为 first,后指针为 second,二者都等于 pre
first 先向前移动n步
之后 first 和 second 共同向前移动,此时二者的距离为 n,当 first 到尾部时,second 的位置恰好为倒数第 n 个节点的上一个结点。
Java代码
class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {
ListNode pre = new ListNode(0);
pre.next = head;
ListNode first = pre;
ListNode second = pre;
while (n>0){
first= first.next;
n--;
}
while (first.next != null){
first=first.next;
second=second.next;
}
second.next = second.next.next;
return pre.next;
}
}
作者最新文章
quicker中文设置在哪里打开并切换中文教程
2026-10-12 17:45
blender纹理坐标和映射怎么调出节点操作教程
2026-10-10 18:40
codekit环境配置指南从安装到环境搭建完整教程
2026-10-09 13:54
苹果折叠屏iPhone是翻盖还是对折形态
2026-09-14 13:33
速腾聚创自研SPAD-SoC芯片交付破50万颗,MARS基地实现8秒下线一台激光雷达
2026-09-08 17:42
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































