网络异常,图片无法展示
|
「这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战」
实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。
注意: 本题相对原题稍作改动
示例:
输入: 1->2->3->4->5 和 k = 2 输出: 4 复制代码
说明:
给定的 k 保证是有效的。
本题解题思路如下:
- 定义两个指针
pre
和cur
,初始都指向head
- 让
cur
指针向后走k
步 pre
和cur
指针一起向后走,直到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 个节点
如有任何问题或建议,欢迎留言讨论!