问题描述:

找出链表中倒数第K个节点

思路分析:

用两个指针,一前一后,保持k个距离,前面的指针移动到末尾,后面的指针就刚好直到第k个节点,

要考虑到k为0,倒数第k个节点不存在的情况。

参考代码:

ListNode* FindKthToTail(ListNode * pHead,unsigned int k)
{
    if (NULL == pHead || k == 0)
    {
        return NULL;
    }

ListNode *pAhead = pHead;

for (unsigned int i = 0;i < k-1;k++)
    {
        if (pAhead->m_pNext != NULL)
        {
            pAhead = pAhead->m_pNext;
        }
        else
        {
            return NULL;
        }
    }

ListNode *pBehind = pHead;
    while(pAhead->m_pNext != NULL)
    {
        pAhead = pAhead->m_pNext;
        pBehind = pBehind->m_pNext;
    }

return pBehind;
}

最新文章

  1. Java 性能分析工具 , 第 3 部分: Java Mission Control
  2. asp.net配置web.config支持jQuery.Uploadify插件上传大文件
  3. Thrift 2中get用法的详细解析
  4. leetcode 67
  5. Android -- 系统信息(内存、cpu、sd卡、电量、版本)获取
  6. Bug:java.lang.IllegalStateException
  7. PCB优化设计(转载)
  8. 【算法】简单选择排序 O(n^2) 不稳定的 C语言
  9. Java虚拟机体系结构
  10. ftp服务器安装与配置
  11. mysql常用的用户授权语句
  12. Dapper批量操作实体
  13. Python复杂场景下字符串处理相关问题与解决技巧
  14. SQL查询无限层级结构的所有下级,所有上级
  15. table表格超出部分显示省略号
  16. pymouse 点击指定坐标点
  17. SystemVerilog 带输出的task
  18. SMB重放攻击
  19. eclipse中java项目转成Web项目
  20. C语言的第二天-比较大小的小程序

热门文章

  1. set用法总结
  2. paip输入法编程之生活用高频字,以及汉字分级
  3. Java中循环删除list中元素的方法总结
  4. NSString、NSData、char* 类型之间的转换-备
  5. 多系统实现单点登录方案:SSO 单点登录
  6. 相似文档查找算法之 simHash 简介及其 java 实现 - leejun_2005的个人页面 - 开源中国社区
  7. PHP 字符串替换 substr_replace 与 str_replace 函数
  8. DBA 经典面试题(5)
  9. C#操作IE
  10. uva 310 L--system(隐式图搜索+字符串处理)