温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-03-22 16:54:31 来源:亿速云 阅读:169 作者:iii 栏目:大数据

今天小编给大家分享一下Java怎么删除链表的倒数第N个节点的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

解题思路
  1. 整体思路是让前面的指针先移动n步,之后前后指针共同移动直到前面的指针到尾部为止。

  2. 首先设立预先指针 pre,预先指针是一个小技巧,在第2题中进行了讲解

  3. 设预先指针 pre 的下一个节点指向 head,设前指针为 first,后指针为 second,二者都等于 pre

  4. first 先向前移动n步

  5. 之后 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;
    }
}

以上就是“Java怎么删除链表的倒数第N个节点”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI