频道栏目
首页 > 程序开发 > 软件开发 > 其他 > 正文
只遍历一次链表,单链表查找倒数第k的结点的方法
2018-05-10 02:29:41      个评论    来源:Wan_shibugong的博客  
收藏   我要投稿

方法:定义连个指针,让一个指针比另一个指针快向链表末尾走k步,当快指针指向NULL时,慢指针指向倒数第k个节点。

PNode FindLastKNode(PNode pHead, int K)
{
    PNode fast = pHead;
    PNode slow = pHead;
    if(NULL == pHead || K<=0)
        return NULL;
    while(K--)
    {
        //K大于结点的个数
        if(NULL == fast)
            return NULL;
        fast = fast->pNext;
    }
    while(fast)
    {
        fast = fast->pNext;
        slow = slow->pNext;
    }
    return slow;
}
点击复制链接 与好友分享!回本站首页
相关TAG标签 结点 遍历 链表
上一篇:SSM 项目整合搭建实战
下一篇:实现数据列表分页过程
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站