链表中倒数第k个结点

2018-09-21  本文已影响0人  小小的白菜

输入一个链表,输出该链表中倒数第k个结点。

function FindKthToTail(head, k) {
    if (!head || k <= 0) {
      return null;
    }
    let next = head, pre = head;
    while (--k) {
      pre = pre.next;
      if (!pre) {
        return null;
      }
    }
    while (pre.next) {
      next = next.next;
      pre = pre.next;
    }
    pre = null;
    return next;
  }

相当于制造了一个K长度的尺子,把尺子从头往后移动,当尺子的右端与链表的末尾对齐的时候,尺子左端所在的结点就是倒数第k个结点!讨论区地址

上一篇下一篇

猜你喜欢

热点阅读