问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何找到链表的倒数第k个元素

发布网友 发布时间:2022-04-23 09:16

我来回答

3个回答

懂视网 时间:2022-04-23 13:37

本文主要和大家介绍PHP获取链表中倒数第K个节点的方法,涉及php针对链表的遍历、判断等相关操作技巧,需要的朋友可以参考下,希望能帮助到大家。

问题

输入一个链表,输出该链表中倒数第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;
}

相关推荐:

DOM简介及节点、属性、查找节点

PHP实现找出链表中环的入口节点实例详解

jQuery遍历节点方法小结

热心网友 时间:2022-04-23 10:45

设置一个队列,长度为K,遍历链表入队,满了就队首的出去。 最后队首就是了。

热心网友 时间:2022-04-23 12:03

intGetElem();intInstInsert();typedefintElemType;typedefstruct{ElemType*elem;//存储空间基地址intlength;//当前长度intlistsize;//当前分配的存储容量}SqList;intInitList(SqList*L){L->elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!L->elem)exit(-1);//存储空间分配失败L->length=0;//空表长度为0L->listsize=LIST_INIT_SIZE;//初始存储容量printf("线性链表创建成功\n");returnOK;}intInput(SqList*L){ElemTypetemp,*newbase;printf("输入顺序列表的数据,以0为结束标志\n");scanf("%d",&temp);while(temp!=0){if(L->length>=L->listsize){newbase=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!newbase)exit(-1);//存储空间分配失败L->elem=newbase;//空间新基地址L->listsize+=LISTINCREMENT;//增加存储容量}L->elem[L->length++]=temp;scanf("%d",&temp);}printf("输入数据结束!!\n");returnOK;}intOnput(SqList*L){inti=0;printf("输出线性表数据:");while(ilength){printf("%d\t",L->elem[i]);i++;}printf("\n");}intClearList(SqList*L){L->length=0;printf("清除成功!\n");returnOK;}voidListEmpty(SqListL){if(L.elem!=NULL)printf("true!\n");elseprintf("false!\n");}voidListLength(SqListL){printf("线性表的长度是:%d\n",L.length);return;}intGetElem(SqListL,inti,SqList*e){e=L.elem[i-1];returne;}voidPriorElem(SqListL,intcur_e,SqList*pre_e){if(cur_e!=L.elem[0]){pre_e=L.elem[0];printf("前驱值为:%d\n",pre_e);}elseprintf("pre_e无意义\n");}voidNextElem(SqListL,intcur_e,SqList*next_e){if(cur_e!=L.elem[L.length-1]){next_e=L.elem[L.length-1];printf("后继值为:%d\n",next_e);}elseprintf("next_e无意义\n");}intListInsert(SqList*L,inti,inte){ElemType*newbase,*p,*q;if(1>i||i>(L->length+1))return-1;if(L->length>=L->listsize){//新增内存newbase=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));//开辟新内存空间if(!newbase)exit(-1);//存储分配失败L->elem=newbase;//新基地址L->listsize+=LISTINCREMENT;//新增内存容量}q=&(L->elem[i-1]);for(p=&(L->elem[L->length-1]);p>=q;p--){*(p+1)=*p;}*q=e;++L->length;returnOK;}intListDelete(SqList*L,inti,inte){ElemType*p,*q;if(iL->length)return-1;q=&(L->elem[i-1]);e=L->elem[i-1];p=L->elem+L->length-1;for(;p>=q;q++)*q=*(q+1);--L->length;printf("删除的值为:%d\n",e);returnOK;}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
支付宝健康码变色规则 ...变绿码?昨天做了核酸检测结果是阴性,多久健康码从黄码变成绿码_百度... 母亲有乙肝孩子一定会有吗 ...的作文,600字,要有真实情感最好写心灵的。帮帮忙,必采纳。谢谢啦... ...自我介绍怎么写呀!,急急急!!!拜托各位谢谢啦!!_百度... 以“我身边的文明礼仪”为题写一篇作文,请各位大侠帮帮忙啦... 石家庄100平米房子改水电多少钱一平 石家庄居民水电煤气费都是多少钱? 石家庄水电一个月多少钱一个月多少钱 石家庄水电价格是多少钱 请问一下,小规模纳税人,工程设计费用的税率是多少呢 施工队去税局代开发票交几个点的税? 发包方代施工方向承揽定作人付款如何取得发票? 施工税率是多少 佳境天成怎么样?好不好?值不值得买? 淄博学府雅居风水,请看看买哪栋楼的合适,楼层多少合适 济阳龙港天成学府和澄波湖7号是一个楼盘吗? 天成学府华都怎么样?好不好?值不值得买? 我想知道怎么把苹果ios9的地图在通知栏上取消,最好是关闭。上面显示到某地有多少分钟 谁能告诉我一点有关安全的知识呀 ?//? 郑州火车站晚上一点安全吗?听说最近传销好严重 安全气囊故障维修四次都修不好,怎么解决啊一点安全 结婚三年了,一点安全感和踏实感都没有?整天懵懵懂懂,该何去何从? 有没有短一点的安全知识啊? 完蛋了,一点安全措施也没有.. 一点安全感都没有 手机设置,一点安全,设置就停止运行,怎么办? 为什么我没有一点安全感?要怎么做? 现在做人一点安全感斗没有? 一点安全感都没有、我该怎么办? 教育局研究和师资培训中心 是干什么的? 海盐事业单位笔试哪个培训机构在海盐开过班,课程怎么样? 2010年海盐县教师社会招聘考试什么时候报名啊? 我是一名小学教师,现在我县有选调到县教师培训这一职位,想问下教师培训中心是什么性质工作。 海盐商贸 理工学校哪个更好 海盐县教育局电话多少啊? 马为民(曾用名马永奎)出生于浙江海盐县 初中数学新秀露台比赛报道 (各地)教师进修学校是什么性质的单位? 睡不着觉打什么针 教师培训是教科室还是教务做的 膝盖关节肿痛,疼得晚上睡不着觉,但是打一消炎针就好了。请问这是什么病 我妈妈现在身体素质不好,夜里睡不着觉,提不起精神,想输一瓶营养针,想问都有哪种类型的?价格是多少? 晚上睡不着觉能不能打麻醉针 当人睡不着快死了,用麻醉可以救命吗 晚上睡不着怎么办 进入深睡眠靠这3招 打安定针有事吗 精神病院给病人打的是什么针? 求方法,睡不着觉怎么回事,怎么治疗好 老人做手术后睡不着就打了针睡觉针就没醒来是为什么