美文网首页
3.链表中的倒数第k个节点

3.链表中的倒数第k个节点

作者: percykuang | 来源:发表于2019-10-17 01:06 被阅读0次

    题目

    输入一个链表,输出该链表中倒数第k个结点。
    
    function ListNode(x){
      this.val = x;
      this.next = null;
    }
    

    code

    // 1 -> 2 -> 3 -> 4
    // 倒数第1:index = 3 len = 4 index = len - 1
    // 倒数第2:index = 2 len = 4 index = len - 2
    // 倒数第3:index = 1 len = 4 index = len - 3
    // 倒数第4:index = 0 len = 4 index = len - 4
    function findKthToTail(head, k) {
      // write code here
      // 获取链表的长度
      let cur = head
      let length = 0
      while (cur) {
        length++
        cur = cur.next
      }
      let index = length - k
      if (index < 0 || index >= length)  return null
    
      // 现在也就是找出第index节点
      cur = head
      while (index) {
        cur = cur.next
        index--
      }
      return cur
    }
    

    相关文章

      网友评论

          本文标题:3.链表中的倒数第k个节点

          本文链接:https://www.haomeiwen.com/subject/cwipmctx.html