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的安全策略
Oct 09 PHP
PHP中调用ASP.NET的WebService的代码
Apr 22 PHP
PHP之生成GIF动画的实现方法
Jun 07 PHP
php实现递归抓取网页类实例
Apr 03 PHP
php实现随机显示图片方法汇总
May 21 PHP
thinkPHP中分页用法实例分析
Dec 26 PHP
Yii中表单用法实例详解
Jan 05 PHP
PHP的几个常用加密函数
Feb 03 PHP
PHP获取文件扩展名的方法实例总结
Jun 10 PHP
php使用curl模拟多线程实现批处理功能示例
Jul 25 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
May 25 PHP
php+js实现点赞功能的示例详解
Aug 07 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递归创建和删除文件夹的代码小结
2012/04/13 PHP
PHP中使用smarty生成静态文件的例子
2014/04/24 PHP
基于php实现七牛抓取远程图片
2015/12/01 PHP
解决php extension 加载顺序问题
2019/08/16 PHP
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
treepanel动态加载数据实现代码
2012/12/15 Javascript
js触发select onchange事件的小技巧
2014/08/05 Javascript
Javascript冒泡排序算法详解
2014/12/03 Javascript
javascript实现避免页面按钮重复提交
2015/01/08 Javascript
JavaScript运算符小结
2015/06/03 Javascript
用JavaScript实现页面重定向功能的教程
2015/06/04 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
2016/10/19 Javascript
微信小程序媒体组件详解(视频,音乐,图片)
2017/09/19 Javascript
微信小程序之数据缓存的实例详解
2017/09/29 Javascript
利用JavaScript的%做隔行换色的实例
2017/11/25 Javascript
webpack实现一个行内样式px转vw的loader示例
2018/09/13 Javascript
vue中filters 传入两个参数 / 使用两个filters的实现方法
2019/07/15 Javascript
angular inputNumber指令输入框只能输入数字的实现
2019/12/03 Javascript
JS控制下拉列表左右选择实例代码
2020/05/08 Javascript
vue键盘事件点击事件加native操作
2020/07/27 Javascript
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python批量修改文件名的实现代码
2014/09/01 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
2018/07/19 Python
Python 判断文件或目录是否存在的实例代码
2018/07/19 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
python 实现在一张图中绘制一个小的子图方法
2019/07/07 Python
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
浙江文明网签名寄语
2014/01/18 职场文书
运动会致辞稿50字
2014/02/04 职场文书
大学生就业求职信
2014/06/12 职场文书
租房安全协议书
2014/08/20 职场文书
2014法制宣传日活动总结范文
2014/11/01 职场文书
会议简讯范文
2015/07/20 职场文书
Windows Server 2012 修改远程默认端口3389的方法
2022/04/28 Servers