题解 | #链表中倒数最后k个结点#

链表中倒数最后k个结点

https://www.nowcoder.com/practice/886370fe658f41b498d40fb34ae76ff9

/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 * };
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param pHead ListNode类 
 * @param k int整型 
 * @return ListNode类
 */
struct ListNode* FindKthToTail(struct ListNode* pHead, int k ) {
    // write code here
    //先遍历一遍一个变量计数,得到一共有多少个节点,在找倒数第K个节点输出他的值
    struct ListNode* rNode = NULL;
    if(pHead == NULL)
    {
        return rNode;
    }

    struct ListNode* Node_num = pHead;
    struct ListNode* kNode_data = pHead;
    int Node_Num = 1;

    while(Node_num->next != NULL)
    {
        Node_Num++;
        Node_num = Node_num->next;
    }

    if(Node_Num < k)
    {
        return rNode;
    }
    else
    {
        for(int i = 0; i < Node_Num - k ; i++)
        {
            kNode_data = kNode_data->next;
        }
        return kNode_data;
    }




}

全部评论

相关推荐

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