上面一道题,刚好写的连表,是倒数第k个节点的值,这题求的是倒数第k个节点,其实是一样的,然后我这次用了另外一个写法,单指针写法,自己没有看题解代码的写法,而是按照上一道题的题解思路,改变一下,直接 一次写对了,不容易啊,就直接贴代码了. 这两个写法,感觉比之前船长讲解的好啊
var getKthFromEnd = function(head, k) {
let cur = head;
let now = head;
let count = 0;
// 先计算head的长度
while(cur) {
count ++;
cur = cur.next;
}
console.log(cur, count)
let step = count - k;
// 从头部 走 总长度count - k; 就是倒数第k个节点
while(step --) {
now = now.next;
}
console.log(now)
return now;
};