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