zoukankan      html  css  js  c++  java
  • 剑指offer(14)链表中倒数第k个节点

    题目描述:

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

    解题代码:

    /*function ListNode(x){
        this.val = x;
        this.next = null;
    }*/
    function FindKthToTail(head, k)
    {
        // write code here
        if(head == null || k <= 0){
            return null;
        }
        //用两个指针指向头结点
        var p1 = head,p2 = //中途如果p1的下一个节点为空,说明链表中不存在第k个结点,返回nullhead;
        //如果p1的下一个结点不为空,将p1指向下一个结点,一直到p1指向第k个结点
        //中途如果p1的下一个节点为空,说明链表中不存在第k个结点,返回null
        for(var i = 1;i < k;i++){
            if(p1.next == null){
                return null;
            }
            p1 = p1.next;
        }
        //p1和p2一起向后指,当p1指向最后一个结点时,p2所指的即为第k个结点
        while(p1.next != null){
            p1 = p1.next;
            p2 = p2.next;
        }
        return p2;
    }
  • 相关阅读:
    第七周作业
    第六周作业
    第五周作业
    第四周作业
    第三周作业
    第二周作业
    求最大值及下标
    查找整数
    抓老鼠
    第五周作业
  • 原文地址:https://www.cnblogs.com/3yleaves/p/9594471.html
Copyright © 2011-2022 走看看