首页
学习
活动
专区
圈层
工具
发布

《剑指offer》第23天:删除链表倒数第N个节点

下面我们看一道题目,看一下哨兵节点的应用 02、题目讲解 第19题:删除链表倒数第N个节点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。...示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。...思路分析: 首先我们思考,让我们删除倒数第N个元素,那我们只要找到倒数第N个元素就可以了,那怎么找呢?我们只需要设置两个指针变量,中间间隔N-1元素。...当head移动到距离目标元素cur的距离为N-1时,同时开始移动cur。 当链表遍历完之后,此时head指向nil,这时的cur就是我们要找的待删除的目标元素。...= nil { if i >= n { pre = cur cur = cur.Next } head =

89230
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    第 N 个数

    直接来看今天的题目(来自于 LeetCode 上的第 400 号问题:第 N 个数): 给你一个整数 n ,请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,...中找出并返回第 n 位上的数字。 我用图片来解释一下题目描述吧。...反过来就可以这样说,第 10 位的数字是 1,第 11 位的数字是 0 ,第 14 位的数字是 1 ,第 15位的数字是 2。 而题目就是要求我们去寻找出这个序列中第 n 位对应的数字。...所以,要想找出序列中第 n 位对应的数字,我们的第一步应该是先去寻找出这个数字来源于哪个数字。...那么,要想找出序列中第 n 位对应的数位,我们的第一步应该是先去寻找出这个数位来源于哪个数字。 先来找规律。

    99710
    领券