「这是我参与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 个节点
如有任何问题或建议,欢迎留言讨论!