输出链表中倒数第K个结点

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/guorong520/article/details/81298509

1.结构体类型

struct ListNode {
    int val;
    struct ListNode *next;
    ListNode(int x) :
            val(x), next(NULL) {
    }
};

2.解析
主要考察的是鲁棒性,使程序保持健壮性。
定义一个快指针,定义一个慢指针,让快指针先走K步,然后快慢指针一块走,当快指针走到NULL的时候,此时慢指针指向的结点就是倒数第K个结点。
这里写图片描述
3.注意事项:
当总共有5个结点时,求倒数第6个结点,那么此时应该返回NULL。
4.代码

猜你喜欢

转载自blog.csdn.net/guorong520/article/details/81298509