美文网首页
链表中倒数第k个结点

链表中倒数第k个结点

作者: UAV | 来源:发表于2020-06-16 15:20 被阅读0次

题目描述

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

/*
struct ListNode {
    int val;
    struct ListNode *next;
    ListNode(int x) :
            val(x), next(NULL) {
    }
};*/
class Solution {
public:
    ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {
        ListNode* node;
        int total = 0;
        ListNode* p = pListHead;
        while (p != NULL)
        {
            total++;
            p = p->next;
        }
        if (k > total) {
            return p;
        }
        int j = 0;
        while (pListHead != NULL)
        {
            j++;
            if (j == total - k+1) {
                node = pListHead;
                break;
            }
            pListHead = pListHead->next;
        }
        return node;
    }
};

相关文章

网友评论

      本文标题:链表中倒数第k个结点

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