package main
import . "nc_tools"
/*
* type ListNode struct{
* Val int
* Next *ListNode
* }
*/
/**
*
* @param head ListNode类
* @param n int整型
* @return ListNode类
*/
func removeNthFromEnd( head *ListNode , n int ) *ListNode {
k := n
slow := head
fast := head
res := slow
for i := 0; i < k; i++ {
if fast == nil {
return nil
}
fast = fast.Next
}
var pre *ListNode
for fast != nil {
pre = slow
slow = slow.Next
fast = fast.Next
}
if pre != nil {
pre.Next = slow.Next
} else {
res = slow.Next
}
return res
}