PHP获取链表中倒数第K个节点的方法


Posted in PHP onJanuary 18, 2018

本文实例讲述了PHP获取链表中倒数第K个节点的方法。分享给大家供大家参考,具体如下:

问题

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

解决思路

注意这个题目是返回节点,而不是返回值。返回值的话可以用栈来存储。返回节点则不能这样做。

设置两个指针,先让第一个指针移动k-1次。然后两个指针同时移动,当第一个指针到达最后一个节点,第二个指针就在倒数第k个节点。

注意边界:K长度可能超出链表长度,所以当第一个指针的next为空时,返回null

实现代码

<?php
/*class ListNode{
 var $val;
 var $next = NULL;
 function __construct($x){
  $this->val = $x;
 }
}*/
function FindKthToTail($head, $k)
{
 if($head == NULL || $k ==0)
  return NULL;
 $pre = $head;
 $last = $head;
 for($i=1; $i<$k; $i++){
  if($last->next == NULL)
   return NULL;
  else
   $last = $last->next;
 }
 while($last->next != NULL){
  $pre = $pre->next;
  $last = $last->next;
 }
 return $pre;
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
用PHP和ACCESS写聊天室(三)
Oct 09 PHP
用php实现的获取网页中的图片并保存到本地的代码
Jan 05 PHP
PHP字符编码问题之GB2312 VS UTF-8解决方法
Jun 23 PHP
php自定义的格式化时间示例代码
Dec 05 PHP
php单文件版在线代码编辑器
Mar 12 PHP
php实现删除空目录的方法
Mar 16 PHP
php链表用法实例分析
Jul 09 PHP
详解PHP实现定时任务的五种方法
Jul 25 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
Feb 04 PHP
thinkPHP5 tablib标签库自定义方法详解
May 10 PHP
PHP中检查isset()和!empty()函数的必要性
Feb 13 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 PHP
PHP获取二叉树镜像的方法
Jan 17 #PHP
PHP实现按之字形顺序打印二叉树的方法
Jan 16 #PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
Jan 16 #PHP
PHP实现找出链表中环的入口节点
Jan 16 #PHP
详解thinkphp中的volist标签
Jan 15 #PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
Jan 15 #PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
Jan 15 #PHP
You might like
PHP数组传递是值传递而非引用传递概念纠正
2013/01/31 PHP
php微信开发之自定义菜单实现
2016/11/18 PHP
TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
2020/02/10 PHP
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
Javascript基础知识(一)核心基础语法与事件模型
2014/09/29 Javascript
JavaScript使用ZeroClipboard操作剪切板
2017/05/10 Javascript
jQuery remove()过滤被删除的元素(推荐)
2017/07/18 jQuery
详解vue项目首页加载速度优化
2017/10/18 Javascript
JS中常用的消息框总结
2018/02/24 Javascript
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
jQuery层叠选择器用法实例分析
2019/06/28 jQuery
Vue实例的对象参数options的几个常用选项详解
2019/11/08 Javascript
Javascript ParentNode和ChildNode接口原理解析
2020/03/16 Javascript
Python之PyUnit单元测试实例
2014/10/11 Python
Python用户推荐系统曼哈顿算法实现完整代码
2017/12/01 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
Python读取mat文件,并保存为pickle格式的方法
2018/10/23 Python
Python缓存技术实现过程详解
2019/09/25 Python
pytorch中使用cuda扩展的实现示例
2020/02/12 Python
python关于倒排列的知识点总结
2020/10/13 Python
6种非常炫酷的CSS3按钮边框动画特效
2016/03/16 HTML / CSS
耐克巴西官方网站:Nike巴西
2016/08/14 全球购物
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
New delete 与malloc free 的联系与区别
2013/02/04 面试题
高三自我鉴定范文
2013/10/19 职场文书
小学感恩教育活动总结
2014/07/07 职场文书
2014年英语教师工作总结
2014/12/03 职场文书
关于迟到的检讨书
2015/05/06 职场文书
音乐之声观后感
2015/06/04 职场文书
学雷锋感言
2015/08/03 职场文书
财务人员廉洁自律心得体会
2016/01/13 职场文书
读《茶花女》有感:山茶花的盛开与凋零
2020/01/17 职场文书
pytorch Dropout过拟合的操作
2021/05/27 Python
Python机器学习之基于Pytorch实现猫狗分类
2021/06/08 Python
MySQL中CURRENT_TIMESTAMP的使用方式
2021/11/27 MySQL