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
检测png图片是否完整的php代码
Sep 06 PHP
php smarty 二级分类代码和模版循环例子
Jun 16 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
Jul 16 PHP
php压缩和解压缩字符串的方法
Mar 14 PHP
php通过两层过滤获取留言内容的方法
Jul 11 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
Jun 07 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
PHP上传文件及图片到七牛的方法
Jul 25 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
May 06 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
Oct 17 PHP
Laravel 验证码认证学习记录小结
Dec 20 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新手上路(五)
2006/10/09 PHP
phpcms手机内容页面添加上一篇和下一篇
2015/06/05 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
2016/03/07 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
2016/04/02 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
2017/11/06 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
2018/08/04 PHP
input 输入框内的输入事件详细分析
2010/03/17 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
2013/06/19 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
2015/10/16 Javascript
AngularJS实现Model缓存的方式
2016/02/03 Javascript
深入理解js数组的sort排序
2016/05/28 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
2016/07/24 Javascript
js发送短信倒计时的简单实现方法
2016/09/08 Javascript
jQuery层次选择器用法示例
2016/09/09 Javascript
AngularJs ng-route路由详解及实例代码
2016/09/14 Javascript
详解vue前后台数据交互vue-resource文档
2017/07/19 Javascript
JS库之ParticlesJS使用简介
2017/09/12 Javascript
webpack 4.0.0-beta.0版本新特性介绍
2018/02/10 Javascript
angularjs性能优化的方法
2018/09/05 Javascript
ES6基础之字符串和函数的拓展详解
2019/08/22 Javascript
vue实现将一个数组内的相同数据进行合并
2019/11/07 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
浅谈python累加求和+奇偶数求和_break_continue
2020/02/25 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
2020/05/03 Python
德国网上花店:Valentins
2018/08/15 全球购物
彪马俄罗斯官网:PUMA俄罗斯
2019/07/13 全球购物
高校毕业生自我鉴定
2013/10/27 职场文书
班级读书活动总结
2014/06/30 职场文书
保险专业求职信
2014/07/07 职场文书
关于运动会的广播稿
2014/09/22 职场文书
商品陈列协议书
2014/09/29 职场文书
部门2014年度工作总结
2014/11/12 职场文书
大学生入党群众意见书
2015/06/02 职场文书
瞿秋白纪念馆观后感
2015/06/10 职场文书
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技