删除的链表的倒数的第N个节点

这道题可以定义两个指针,一个指针,一个指针从开头出发移动N+1个节点 ,第二个质争从头开始,与第二个指针保持N的距离,当第一个指针到达最后一个节点的时候,第二个指针正好到达倒数第N个节点,删除该节点的数,再将第二个指针重新连接到下下个节点,完成题目要求
JAVA实现

public ListNode removeNthFromEnd(ListNode head, int n) {
    ListNode A = new ListNode(0);
    A.next = head;
    ListNode first = A;
    ListNode second = A;
   int i;
    for (i = 1; i <= n + 1; i++) 
    {
        first = first.next;
    }
   
    while (first != null) 
    {
        first = first.next;
        second = second.next;
    }
    second.next = second.next.next;
    return A.next;
}


发布了19 篇原创文章 · 获赞 1 · 访问量 108

猜你喜欢

转载自blog.csdn.net/laozhujie/article/details/104788355