博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php实现合并两个排序的链表(很多情况下新建数组装东西比连东西逻辑快很多)($cur=$cur->next;的理解)...
阅读量:7072 次
发布时间:2019-06-28

本文共 1685 字,大约阅读时间需要 5 分钟。

php实现合并两个排序的链表(很多情况下新建数组装东西比连东西逻辑快很多)($cur=$cur->next;的理解)

一、总结

 

$cur=$cur->next;这句话需要好好理解 指$cur的值现在等于$cur的next域的值,$cur的next域的值就是一个地址,指向的就是$cur的下一个节点 那整句话就是表示的是$cur的值就是下一个节点的地址值

这里出现了 $cur的值$cur的next域的值,以及还有的$cur的val域的值,所以就出现了三个值

 

 

二、php实现合并两个排序的链表

题目描述:

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

 

三、代码

代码一ac:直接用数组保存节点(很多情况下新建数组装东西比连东西逻辑快很多),因为这里数组里面装都是引用(地址),所以空间开销其实也没有大特别多

1 
val = $x; 7 } 8 }*/ 9 //算法:直接用两个链表原来的节点连10 function Merge($pHead1, $pHead2)11 {12 $arr=array();13 while($pHead1&&$pHead2){14 if($pHead1->val<=$pHead2->val) {
$arr[]=$pHead1; $pHead1=$pHead1->next;}15 else {
$arr[]=$pHead2; $pHead2=$pHead2->next;}16 }17 while($pHead1){18 $arr[]=$pHead1; $pHead1=$pHead1->next;19 }20 while($pHead2){21 $arr[]=$pHead2; $pHead2=$pHead2->next;22 }23 for($i=0;$i
next=$arr[$i+1];25 }26 $arr[count($arr)-1]->next=null;27 return $arr[0];28 }

 

 

 

代码二:

 

1 
val = $x; 7 } 8 }*/ 9 //算法:直接用两个链表原来的节点连10 function Merge($pHead1, $pHead2)11 {12 $head=new ListNode(0);//多了一个head节点 //1、这里一定要初始化值,不然是错的13 $cur=$head;14 while($pHead1&&$pHead2){15 if($pHead1->val<=$pHead2->val) {
$cur->next=$pHead1; $cur=$cur->next; $pHead1=$pHead1->next;} //2、$cur=$cur->next;这句话需要好好理解16 else {
$cur->next=$pHead2; $cur=$cur->next; $pHead2=$pHead2->next;}17 }18 while($pHead1){19 $cur->next=$pHead1; $cur=$cur->next; $pHead1=$pHead1->next;20 }21 while($pHead2){22 $cur->next=$pHead2; $cur=$cur->next; $pHead2=$pHead2->next;23 }24 return $head->next;//因为多建了head这个头节点25 }

 

转载于:https://www.cnblogs.com/Renyi-Fan/p/9061553.html

你可能感兴趣的文章
Leetcode 727. Minimum Window Subsequence
查看>>
java切换jdk版本
查看>>
hdu 1005 Number Sequence zoj 1105
查看>>
VLAN
查看>>
Oracle12c 性能优化攻略:攻略1-2:创建具有最优性能的表空间
查看>>
yum install 报错[Errno 14] curl#37 - Couldn't open file /mnt/repodata/repomd.xml
查看>>
box-sizeing
查看>>
bzoj 3669 [Noi2014]魔法森林
查看>>
Linux中find、grep命令详细用法
查看>>
在那1227的机房
查看>>
CentOS为中文显示
查看>>
Oracle迁移到DB2常用转换
查看>>
num 80
查看>>
Python 参数传递
查看>>
stm32之ADC
查看>>
k8s源码分析之kubelet
查看>>
DFS小题
查看>>
gtest编译小结(ubuntu 12.10 , gtest 1.6.0)
查看>>
也谈 Python 的中文编码处理
查看>>
itunes安装后不能用,双击后等很长时间,提示:ITUNES 驱动程序缺少用于导入和刻录的CD与DVD注册的设置...
查看>>