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