题解 | #输出单向链表中倒数第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; };