跳转至

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

RemoveNthNodeFromEndOfList.go
package LinkedList

func removeNthFromEnd(head *ListNode, n int) *ListNode {
    slow, fast := head, head
    for i := 0; i < n; i++ {
        fast = fast.Next
    }
    if fast == nil {
        head = head.Next
        return head
    }
    for fast.Next != nil {
        slow = slow.Next
        fast = fast.Next
    }
    slow.Next = slow.Next.Next
    return head
}