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

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

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

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 {
    // write code here

    virtual := &ListNode{}
    virtual.Next = head

    pre := virtual
    fast := head
    slow := head

    for i := 0;i<n;i++ {
        fast = fast.Next
    }

    for i:=0;;i++ {
        if fast == nil {
            break
        }
        pre = pre.Next
        fast = fast.Next
        slow = slow.Next 
    }
    pre.Next = slow.Next
    return virtual.Next

}

全部评论
快慢指针
点赞 回复 分享
发布于 2023-10-26 08:09 上海

相关推荐

点赞 评论 收藏
分享
05-14 20:34
门头沟学院 Java
窝补药贝八股:管他们,乱说,反正又不去,直接说680
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务