给定一个链表,删除链表的倒数第 n 个节点并返回链表的头指针
例如,
 例如,
  给出的链表为: 
, 
.
删除了链表的倒数第
 个节点之后,链表变为
.  
 删除了链表的倒数第
  数据范围: 链表长度 
,链表中任意节点的值满足 
 
   要求:空间复杂度 
,时间复杂度 )
备注:
 备注:
  题目保证 
 一定是有效的
 
 func removeNthFromEnd( head *ListNode ,  n int ) *ListNode {
    // write code here
    var (
        fast *ListNode = head
        slow *ListNode = head
        pre *ListNode    
        )
//     if n <=0 {
//         return head
//     }
    for i:= 0 ; i < n-1 ; i++{  
        fast = fast.Next
//         if fast.Next == nil{
//             break
//         }
    }
    for fast.Next != nil {
        pre = slow
        slow = slow.Next
        fast = fast.Next
    }
    if pre == nil {
        return head.Next
    }else{
        pre.Next = slow.Next
    }
    return head
}