【每日一题】【第n个 n-->0】19./NC53 【删除】链表的倒数第 N 个结点-211123/220127
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
答案:
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) { ListNode fast = head, slow = head; //注意第n个是n-->0! while(n-- > 0) { fast = fast.next; } //第n个就是最后一个节点,那么意思就是删除第一个几点 if(fast == null) { return head.next; } //获取前一个节点,便于删除 fast = fast.next; while(fast != null) { fast = fast.next; slow = slow.next; } slow.next = slow.next.next; return head; } }
本文来自博客园,作者:哥们要飞,转载请注明原文链接:https://www.cnblogs.com/liujinhui/p/15684031.html