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 disk_free_space 返回目录可用空间
May 10 PHP
thinkphp实现数组分页示例
Apr 13 PHP
PHP和javascript常用正则表达式及用法实例
Jul 01 PHP
PHP中文编码小技巧
Dec 25 PHP
discuz目录文件资料汇总
Dec 30 PHP
3种php生成唯一id的方法
Nov 23 PHP
使用Huagepage和PGO来提升PHP7的执行性能
Nov 30 PHP
php文件缓存方法总结
Mar 16 PHP
php简单压缩css样式示例
Sep 22 PHP
PHP实现登录注册之BootStrap表单功能
Sep 03 PHP
PHP查找一列有序数组是否包含某值的方法
Feb 07 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 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你的验证码安全码?
2007/01/02 PHP
php实现猴子选大王问题算法实例
2015/04/20 PHP
详谈PHP编码转换问题
2015/07/28 PHP
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
javascript实现在指定元素中垂直水平居中
2015/09/13 Javascript
Prototype框架详解
2015/11/25 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
2017/03/21 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
详解Vue中watch对象内属性的方法
2019/02/01 Javascript
node Buffer缓存区常见操作示例
2019/05/04 Javascript
JS实现灯泡开关特效
2020/03/30 Javascript
微信小程序实现点击按钮后修改颜色
2019/12/05 Javascript
[02:32]【DOTA2亚洲邀请赛】iceice,梦开始的地方
2017/03/13 DOTA
[01:08:24]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第一场 2月5日
2021/03/11 DOTA
python简单猜数游戏实例
2015/07/09 Python
Python中list列表的一些进阶使用方法介绍
2015/08/15 Python
python 定时器,轮询定时器的实例
2019/02/20 Python
Python 数据可视化pyecharts的使用详解
2019/06/26 Python
解决Django一个表单对应多个按钮的问题
2019/07/18 Python
Python 矩阵转置的几种方法小结
2019/12/02 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
python中return不返回值的问题解析
2020/07/22 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
2020/08/11 Python
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
New Balance加拿大官方网站:运动鞋和健身服装
2018/11/19 全球购物
莫斯科大型旅游休闲商品超市:Camping.ru
2020/09/16 全球购物
请写出 BOOL flag 与"零值"比较的 if 语句
2016/02/29 面试题
《英英学古诗》教学反思
2014/04/11 职场文书
2014领导班子四风剖析对照检查材料思想汇报
2014/09/20 职场文书
个人四风问题整改措施思想汇报
2014/10/04 职场文书
2014年党建工作汇报材料
2014/11/02 职场文书
工程部主管岗位职责
2015/02/12 职场文书
小学生暑假安全公约
2015/07/14 职场文书
初中班主任心得体会
2016/01/07 职场文书
MySQL8.0升级的踩坑历险记
2021/11/01 MySQL