每日一题---19. 删除链表的倒数第 N 个结点[力扣][Go]

题目描述

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

解题代码

双指针法思路(图)

在这里插入图片描述

代码

// 快慢指針
func removeNthFromEnd(head *ListNode, n int) *ListNode {
    
    
	dummyHead := &ListNode{
    
    }
	dummyHead.Next = head
	cur := head
	prev := dummyHead
	i := 1
	for cur != nil {
    
    
		cur = cur.Next
		if i > n {
    
    
			prev = prev.Next
		}
		i++
	}
	prev.Next = prev.Next.Next
	return dummyHead.Next
}

运行结果

在这里插入图片描述

おすすめ

転載: blog.csdn.net/weixin_52025712/article/details/121249780