题解 | #删除链表的倒数第n个节点#

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

https://www.nowcoder.com/practice/f95dcdafbde44b22a6d741baf71653f6

import java.util.*;

/*
 * public class ListNode {
 *   int val;
 *   ListNode next = null;
 * }
 */

public class Solution {

 



    public ListNode removeNthFromEnd (ListNode head, int n) {
         
        // write code here
        //先找到倒数第n个节点
        ListNode f = head;
        ListNode s = head;

        while(n>0){
            if(f!=null){
                f = f.next;
            }//此题不用考虑n大于链表长度
            n--;
                

        }

        ListNode pre = new ListNode(0);
        pre.next = s;

        if(f==null){
            //此时说明删除的是头节点,因为n最多等于链表长度
            return head.next;
        }
       while(f!=null){
        f=f.next;

        s=s.next;
        pre = pre.next;

       }
       pre.next = s.next;

       





        return head;
    }
}

全部评论

相关推荐

07-15 11:41
门头沟学院 Java
点赞 评论 收藏
分享
06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
07-01 13:37
门头沟学院 Java
steelhead:不是你的问题,这是社会的问题。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务