[路飞]_leetcode-面试题 02.02-返回倒数第 k 个节点

简介: leetcode-面试题 02.02-返回倒数第 k 个节点

网络异常,图片无法展示
|


「这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战


[题目地址][B站地址]


实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。


注意: 本题相对原题稍作改动


示例:


输入: 1->2->3->4->5 和 k = 2
输出: 4
复制代码


说明:


给定的 k 保证是有效的。


本题解题思路如下:


  1. 定义两个指针 precur,初始都指向 head
  2. cur 指针向后走 k
  3. precur指针一起向后走,直到 cur 指针为空,此时 pre 指针指向的就是倒数第 k 个节点


代码如下:


var kthToLast = function(head, k) {
    let pre = head,cur = head
    while(k){
        cur = cur.next;
        k--;
    }
    while(cur){
        cur = cur.next;
        pre = pre.next;
    }
    return pre.val;
};
复制代码


至此我们就完成了 leetcode-面试题 02.02-返回倒数第 k 个节点


如有任何问题或建议,欢迎留言讨论!

相关文章
LeetCode第24题两两交换链表中的节点
这篇文章介绍了LeetCode第24题"两两交换链表中的节点"的解题方法,通过使用虚拟节点和前驱节点技巧,实现了链表中相邻节点的交换。
LeetCode第24题两两交换链表中的节点
LeetCode第二十四题(两两交换链表中的节点)
这篇文章介绍了LeetCode第24题的解法,即如何通过使用三个指针(preNode, curNode, curNextNode)来两两交换链表中的节点,并提供了详细的代码实现。
276 0
LeetCode第二十四题(两两交换链表中的节点)
Leetcode第十九题(删除链表的倒数第N个节点)
LeetCode第19题要求删除链表的倒数第N个节点,可以通过快慢指针法在一次遍历中实现。
349 0
Leetcode第十九题(删除链表的倒数第N个节点)
|
开发者 索引 Python
这些年背过的面试题——LeetCode
本文是技术人面试系列LeetCode篇,一文带你详细了解,欢迎收藏!
【LeetCode 46】450.删除二叉搜索树的节点
【LeetCode 46】450.删除二叉搜索树的节点
273 0
【LeetCode 09】19 删除链表的倒数第 N 个结点
【LeetCode 09】19 删除链表的倒数第 N 个结点
309 0
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
536 6
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
Python
【Leetcode刷题Python】剑指 Offer 32 - III. 从上到下打印二叉树 III
本文介绍了两种Python实现方法,用于按照之字形顺序打印二叉树的层次遍历结果,实现了在奇数层正序、偶数层反序打印节点的功能。
280 6
|
搜索推荐 索引 Python
【Leetcode刷题Python】牛客. 数组中未出现的最小正整数
本文介绍了牛客网题目"数组中未出现的最小正整数"的解法,提供了一种满足O(n)时间复杂度和O(1)空间复杂度要求的原地排序算法,并给出了Python实现代码。
602 2
|
数据采集 负载均衡 安全
LeetCode刷题 多线程编程九则 | 1188. 设计有限阻塞队列 1242. 多线程网页爬虫 1279. 红绿灯路口
本文提供了多个多线程编程问题的解决方案,包括设计有限阻塞队列、多线程网页爬虫、红绿灯路口等,每个问题都给出了至少一种实现方法,涵盖了互斥锁、条件变量、信号量等线程同步机制的使用。
532 4
LeetCode刷题 多线程编程九则 | 1188. 设计有限阻塞队列 1242. 多线程网页爬虫 1279. 红绿灯路口