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 相关文章推荐
杏林同学录(八)
Oct 09 PHP
用php和MySql来与ODBC数据连接
Oct 09 PHP
PHP 防注入函数(格式化数据)
Aug 08 PHP
PHP autoload与spl_autoload自动加载机制的深入理解
Jun 05 PHP
php和jquery实现地图区域数据统计展示数据示例
Feb 12 PHP
PHP生成自定义长度随机字符串的函数分享
May 04 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
Jun 10 PHP
PHP中的use关键字概述
Jul 23 PHP
php layui实现前端多图上传实例
Jul 30 PHP
php curl发送请求实例方法
Aug 01 PHP
laravel 出现command not found问题的解决方案
Oct 23 PHP
PHP对接阿里云虚拟号的实现(号码隐私保护)
Apr 06 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在Web开发领域的优势
2006/10/09 PHP
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
php curl模拟post请求小实例
2013/11/13 PHP
php 使用curl模拟登录人人(校内)网的简单实例
2016/06/06 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
2019/08/23 PHP
nodejs中exports与module.exports的区别详细介绍
2013/01/14 NodeJs
js this函数调用无需再次抓获id,name或标签名
2014/03/03 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
2014/10/22 Javascript
JavaScript版的TwoQueues缓存模型
2014/12/29 Javascript
jquery+ajax+text文本框实现智能提示完整实例
2016/07/09 Javascript
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
基于vue.js的分页插件详解
2017/11/27 Javascript
vue中的mvvm模式讲解
2019/01/31 Javascript
layer ui插件显示tips时,修改字体颜色的实现方法
2019/09/11 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
[14:03]2017DOTA2亚洲邀请赛开幕式:12神兵演绎水墨中华
2017/04/01 DOTA
Python httplib模块使用实例
2015/04/11 Python
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
python简单实现操作Mysql数据库
2018/01/29 Python
python TKinter获取文本框内容的方法
2018/10/11 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
python GUI图形化编程wxpython的使用
2019/07/19 Python
python中的&amp;&amp;及||的实现示例
2019/08/07 Python
如何使用Python脚本实现文件拷贝
2019/11/20 Python
基于SpringBoot构造器注入循环依赖及解决方式
2020/04/26 Python
一文解决django 2.2与mysql兼容性问题
2020/07/15 Python
美体小铺加拿大官方网站:The Body Shop加拿大
2016/10/30 全球购物
英国顶级足球鞋的领先零售商:Lovell Soccer
2019/08/27 全球购物
在购买印度民族服饰:Soch
2020/09/15 全球购物
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
惹女朋友生气检讨书
2015/05/06 职场文书
安全教育培训制度
2015/08/06 职场文书
《吃水不忘挖井人》教学反思
2016/02/22 职场文书
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL
浅谈resultMap的用法及关联结果集映射
2021/06/30 Java/Android