【每日一题】【第n个 n-->0】19./NC53 【删除】链表的倒数第 N 个结点-211123/220127

2023-02-13,,,,

给你一个链表删除链表的倒数第 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;
}
}

每日一题】【第n个 n-->0】19./NC53 【删除】链表的倒数第 N 个结点-211123/220127的相关教程结束。

《【每日一题】【第n个 n-->0】19./NC53 【删除】链表的倒数第 N 个结点-211123/220127.doc》

下载本文的Word格式文档,以方便收藏与打印。