题解 | #输出单向链表中倒数第k个结点#
输出单向链表中倒数第k个结点
https://www.nowcoder.com/practice/54404a78aec1435a81150f15f899417d
const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () => (await iter.next()).value; void (async function () { // Write your code here class Node { constructor(val, next) { this.val = val; this.next = next; } } const create = (values) => { const head = new Node(values[0], null); let p = head; for (let i = 1; i < values.length; i++) { let val = values[i]; let node = new Node(val, null); p.next = node; p = node; } return head; }; let array = []; let n = []; let k = []; let index = 0; while ((line = await readline())) { switch (index % 3) { case 0: n.push(parseInt(line)); break; case 1: array.push(line.split(" ")); break; case 2: k.push(parseInt(line)); break; } index++; } for (let j = 0; j < array.length; j++) { let p = create(array[j]); for (let i = 2; i <= n[j] - k[j] + 1; i++) { // 倒数第k个结点,即正数第n-k+1个结点 p = p.next; } console.log(p.val); } })();