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

简介: 每日一题---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
}

运行结果


相关文章
|
6天前
【力扣】-- 移除链表元素
【力扣】-- 移除链表元素
16 1
|
10天前
|
算法
【❤️算法笔记❤️】-每日一刷-19、删除链表的倒数第 N个结点
【❤️算法笔记❤️】-每日一刷-19、删除链表的倒数第 N个结点
39 1
|
1月前
链表的中间结点
链表的中间结点
175 57
|
15天前
|
算法
【链表】算法题(二) ----- 力扣/牛客
【链表】算法题(二) ----- 力扣/牛客
|
13天前
Leetcode第十九题(删除链表的倒数第N个节点)
LeetCode第19题要求删除链表的倒数第N个节点,可以通过快慢指针法在一次遍历中实现。
32 0
Leetcode第十九题(删除链表的倒数第N个节点)
|
6天前
(剑指offer)18、删除链表的节点—22、链表中倒数第K个节点—25、合并两个排序的链表—52、两个链表的第一个公共节点(2021.12.07)
(剑指offer)18、删除链表的节点—22、链表中倒数第K个节点—25、合并两个排序的链表—52、两个链表的第一个公共节点(2021.12.07)
16 0
|
13天前
|
索引
力扣(LeetCode)数据结构练习题(3)------链表
力扣(LeetCode)数据结构练习题(3)------链表
27 0
|
13天前
【LeetCode 09】19 删除链表的倒数第 N 个结点
【LeetCode 09】19 删除链表的倒数第 N 个结点
12 0
|
15天前
|
算法
【链表】算法题(一) ----- 力扣 / 牛客
【链表】算法题(一) ----- 力扣 / 牛客
|
27天前
05_删除链表的倒数第N个节点
05_删除链表的倒数第N个节点