package
0.0.0-20240501152552-44d6fb1afb4e
Repository: https://github.com/bwangelme/leetcode-go.git
Documentation: pkg.go.dev

# README

删除链表的倒数第 N 个结点

algo/linkedlist/remove_n_from_end.go

不知道 leetcode 的 OJ 是如何实现的,如果定义了全局变量,程序就会出错,于是我把 current 改成了函数的参数,这样结果就能通过了

/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
func removeNFromEnd(head *ListNode, n int, current *int) *ListNode {
    if head == nil {
        return nil
    }

    head.Next = removeNFromEnd(head.Next, n, current)

    *current = *current + 1
    if *current == n {
        head = head.Next
    }
    return head
}

func removeNthFromEnd(head *ListNode, n int) *ListNode {
    var current int = 0
    return removeNFromEnd(head, n, &current)
}

# Structs

No description provided by the author