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

海康威视公司福利 1140人发布
查看15道真题和解析