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

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务