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上传文件中文文件名乱码的解决方法
Nov 01 PHP
linux系统下php安装mbstring扩展的二种方法
Jan 20 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
Oct 16 PHP
PHP has encountered a Stack overflow问题解决方法
Nov 03 PHP
php将图片保存入mysql数据库失败的解决方法
Dec 27 PHP
PHP+MySQL删除操作实例
Jan 21 PHP
Mac OS下配置PHP+MySql环境
Feb 25 PHP
PHP版微信公众平台红包API
Apr 02 PHP
php结合ACCESS的跨库查询功能
Jun 12 PHP
php读取der格式证书乱码解决方法
Jun 22 PHP
PHP编程实现脚本异步执行的方法
Aug 09 PHP
laravel 框架实现无限级分类的方法示例
Oct 31 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
一道求$b相对于$a的相对路径的php代码
2010/08/08 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
PHP 输出URL的快捷方式示例代码
2013/09/22 PHP
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
PHP基于imap获取邮件实例
2014/11/11 PHP
CL vs ForZe BO5 第三场 2.13
2021/03/10 DOTA
javascript学习笔记(七) js函数介绍
2012/06/19 Javascript
jquery修改网页背景颜色通过css方法实现
2014/06/06 Javascript
Jquery节点遍历next与nextAll方法使用示例
2014/07/22 Javascript
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
2015/01/01 NodeJs
基于jquery实现的树形菜单效果代码
2015/09/06 Javascript
详解JavaScript中this的指向问题
2017/01/20 Javascript
JavaScript中的E-mail 地址格式验证
2018/03/28 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
2019/04/22 Javascript
[49:21]2018DOTA2亚洲邀请赛3月30日 小组赛B组 Effect VS iG
2018/03/31 DOTA
Python的装饰器用法学习笔记
2016/06/24 Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
2016/06/29 Python
利用Python批量生成任意尺寸的图片
2016/08/29 Python
基于ID3决策树算法的实现(Python版)
2017/05/31 Python
Python对接六大主流数据库(只需三步)
2019/07/31 Python
HTML5中的强制下载属性download使用实例解析
2016/05/12 HTML / CSS
美国礼品卡交易网站:Cardpool
2018/08/27 全球购物
中专生自我鉴定
2013/12/17 职场文书
生日派对邀请函
2014/01/13 职场文书
《黄河颂》教学反思
2014/02/07 职场文书
业务部门经理岗位职责
2014/02/23 职场文书
社区健康教育实施方案
2014/03/18 职场文书
毕业评语大全
2014/05/04 职场文书
部门活动策划方案
2014/08/16 职场文书
2015年数学教研组工作总结
2015/05/23 职场文书
《红领巾真好》教学反思
2016/02/16 职场文书
个人的事迹材料怎么写
2019/04/24 职场文书
2019销售早会主持词
2019/06/27 职场文书
Go语言-为什么返回值为接口类型,却返回结构体
2021/04/24 Golang
redis实现的四种常见限流策略
2021/06/18 Redis
Redis监控工具RedisInsight安装与使用
2022/03/21 Redis