题解 | #删除链表的倒数第n个节点#

删除链表的倒数第n个节点

http://www.nowcoder.com/practice/f95dcdafbde44b22a6d741baf71653f6


// 找到倒数第 n+1 个节点
func removeNthFromEnd( head *ListNode ,  n int ) *ListNode {
    
    dummy := &ListNode{0, head}
    fast := dummy
    slow := dummy
    
    for i := 0; i < n; i++ {
        fast = fast.Next 
    }
    
    
    for fast.Next != nil {
        fast = fast.Next 
        slow = slow.Next
    }
    // slow 是倒数第n+1个节点
    slow.Next = slow.Next.Next 
   
    return dummy.Next
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务