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手册及PHP编程标准
Dec 17 PHP
PHP Token(令牌)设计
Mar 15 PHP
PHP函数常用用法小结
Feb 08 PHP
基于Zend的Config机制的应用分析
May 02 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
Jun 28 PHP
PHP上传图片进行等比缩放可增加水印功能
Jan 13 PHP
FastCGI 进程意外退出造成500错误
Jul 26 PHP
Yii数据模型中rules类验证器用法分析
Jul 15 PHP
php实现文件管理与基础功能操作
Mar 21 PHP
PHP函数积累总结
Mar 19 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
Dec 20 PHP
tp5框架前台无限极导航菜单类实现方法分析
Mar 29 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 获取全局变量的代码
2011/04/21 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
跟我学Laravel之配置Laravel
2014/10/15 PHP
Javascript代码实现仿实例化类
2015/04/03 Javascript
轻松理解Javascript变量的相关问题
2017/01/20 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
node上的redis调用优化示例详解
2018/10/30 Javascript
如何给element添加一个抽屉组件的方法步骤
2019/07/14 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
2019/11/14 Javascript
Node.js API详解之 timer模块用法实例分析
2020/05/07 Javascript
微信小程序实现滚动Tab选项卡
2020/11/16 Javascript
js前端对于大量数据的展示方式及处理方法
2020/12/02 Javascript
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
python发送arp欺骗攻击代码分析
2014/01/16 Python
python判断字符串是否包含子字符串的方法
2015/03/24 Python
编写Python脚本使得web页面上的代码高亮显示
2015/04/24 Python
Python基础语法(Python基础知识点)
2016/02/28 Python
Python将多个excel表格合并为一个表格
2021/02/22 Python
Python输出各行命令详解
2018/02/01 Python
pandas 快速处理 date_time 日期格式方法
2018/11/12 Python
Python实现图片批量加入水印代码实例
2019/11/30 Python
Python 生成VOC格式的标签实例
2020/03/10 Python
Python读入mnist二进制图像文件并显示实例
2020/04/24 Python
Python中使用threading.Event协调线程的运行详解
2020/05/02 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
西班牙国家航空官方网站:Iberia
2017/11/16 全球购物
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
最新奶茶店创业计划书
2014/01/25 职场文书
庆祝教师节演讲稿
2014/09/03 职场文书
预备党员思想汇报1000字
2014/10/07 职场文书
2015暑期社会实践个人总结
2015/07/13 职场文书
python实现大文本文件分割成多个小文件
2021/04/20 Python
Python 数据可视化之Seaborn详解
2021/11/02 Python
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS