题目

代码
import java.util.*;
/*
* public class ListNode {
* int val;
* ListNode next = null;
* }
*/
public class Solution {
/**
*
* @param head ListNode类
* @param n int整型
* @return ListNode类
*/
public ListNode removeNthFromEnd (ListNode head, int n) {
// write code here
if(head == null) {
return null;
}
ListNode slow = head;
ListNode fast = head;
while(fast != null && n > 0) {
fast = fast.next;
n--;
}
if(fast == null) {
return head.next;
}
while(fast.next != null) {
slow = slow.next;
fast = fast.next;
}
slow.next = slow.next.next;
}
}
该代码实现了一个Java方法,用于从链表中删除倒数第n个节点。它通过两个指针,一个快指针先走n步,然后两个指针同步移动,直到快指针到达链表尾部,此时慢指针指向的就是要删除的节点的前一个节点,从而实现删除操作。

2025

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



