水题
class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {
ListNode dummy = new ListNode(0,head);
ListNode first = dummy;
ListNode second = dummy;
for (int i = 0;second!=null && i < n; i++) {
second = second.next;
}
if(second != null) {
while(second.next!=null) {
first = first.next;
second = second.next;
}
}
first.next = first.next.next;
return dummy.next;
}
}
该博客介绍了一个Java实现的解决方案,用于从链表的末尾开始删除指定距离的节点。通过创建虚拟头节点简化了操作,并通过两次遍历找到目标节点,然后进行删除。这个算法适用于数据结构和链表操作的学习。
1227

被折叠的 条评论
为什么被折叠?



