题解 | #输出单向链表中倒数第k个结点#
输出单向链表中倒数第k个结点
https://www.nowcoder.com/practice/54404a78aec1435a81150f15f899417d
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let arr = [];
let i = 0;
let res = [];
rl.on("line", function (line) {
if (i < 3) {
arr.push(line);
i++;
}
if (i=== 3) {
res.push(fn(arr));
i = 0;
arr = [];
}
});
rl.on("close", function () {
// console.log(res)
});
class LNode {
v: string | number;
next: LNode;
constructor(value, next) {
this.v = value;
this.next = next;
}
}
const createNodeList = (arr) => {
const head = new LNode(arr[0], null);
let current = head;
for (let i = 1; i < arr.length; i++) {
const newNode = new LNode(arr[i], null);
current.next = newNode;
current = newNode;
}
return head;
};
const fn = (arr) => {
const [len, nodeStr, lastIndex] = arr;
const head = createNodeList(nodeStr.split(" ").map(Number));
let index = len - lastIndex;
let cur = head;
while (index > 0) {
cur = cur.next;
index--;
}
console.log(cur.v);
return cur.v;
};

