牛客网(剑指offer) 第二十五题 复杂链表的复制
//题目描述
<?php
/*class RandomListNode{var $label;var $next = NULL;var $random = NULL;function __construct($x){$this->label = $x;}
}*/
//第一种思路
function MyClone($pHead){if($pHead==null)return ;$pnode=new RandomListNode($pHead->label);$pnode->next=$pHead->next;$pnode->random=$pHead->random;$pnode->next=MyClone($pHead->next);return $pnode;
}
//第二种思路
function MyClone($pHead){//1.将A->B->C 变为A->A1->B->B1->C->C1$cu=$pHead;while ($cu!=null) {$new = new RandomListNode($cu->label);$new->next=$cu->next;$cu->next=$new;$cu=$new->next; }//2.如果原始链表上的节点N的random指向S,则对应的复制节点N'的random指向S的下一个节点S'$cu=$pHead;while ($cu!=null) {$cu->next->random=$cu->random->next;$cu=$cu->next->next;}//3.拆分$head=$pHead->next;$cu=$head;while ($cu!=null) {$cu->next=$cu->next->next;$cu=$cu->next;}return $head;}
牛客网(剑指offer) 第二十五题 复杂链表的复制相关推荐
- 牛客网剑指offer编程实践1-10题
牛客网剑指offer编程实践1-10题 1.二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这 ...
- 牛客网剑指offer编程实践41-50题
41.和为S的连续正数序列 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两 ...
- 牛客网剑指offer编程实践21-30题
21.栈的压入.弹出序列 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5, ...
- 牛客网-剑指offer 第二题(字符替换)
//请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. <?php f ...
- 牛客网剑指offer编程实践51-66题
51. 构建乘积数组 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]A[1]...A[i-1]A[i+1]...A[n-1].不 ...
- 牛客网剑指offer编程实践31-40题
31. 整数中1出现的次数(从1到n整数中1出现的次数) 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12. ...
- 牛客网剑指offer编程实践11-20题
11.二进制中1的个数 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 解答: 方法: 如果一个整数不为0,那么这个整数至少有一位是1.如果我们把这个整数减1,那么原来处在整数最右边 ...
- Day5.牛客网剑指offer 67题之43-54题(java代码)
文章目录 Day5.牛客网剑指offer 67题之43-54题 43.左旋转字符串 44.翻转单词顺序列 45.扑克牌顺序 46.孩子们的游戏 47.求1+2+...+n 48.不用加减乘除做加法 4 ...
- Java算法:牛客网Java版剑指Offer全套算法面试题目整理及电子档,Java算法与数据结构面试题,面试刷题、背题必备!牛客网剑指offer
剑指offer(java版) 牛客网Java版剑指Offer全套题目67道 资源来源于网络 目录 1.二维数组中的查找 2.替换空格 3.从尾到头打印链表 4.重建二叉树 5.用两个栈实现队列 6.旋 ...
- 牛客网剑指offer java 全部题解
经过数月的努力,终于更完了牛客网的66道剑指offer,以下的顺序和大家在牛客网的顺序是一样的(排序也花了不少时间),希望对大家找工作/提高算法能力能起到些许帮助. 每天一道剑指offer-二维数组中 ...
最新文章
- iOS单例模式定义与使用
- lnmp 切换mysql 版本_LNMP1.5:php多版本切换
- intellij idea 1314 插件推荐及快速上手建议
- LSMW批处理使用方法(05)_步骤3下
- PyTorch基础-线性回归以及非线性回归-02
- VC+MO2.0连接ArcSDE并且读出SDE中的空间数据(三)
- 和平精英有电脑版吗_和平精英华晨宇代言版-和平精英华晨宇代言版下载v1.9.10...
- 模板题——数位DP、状态压缩、记忆化搜索
- ENVI5.3.1使用Landsat 8影像进行NDVI计算实例操作
- ubuntu eclipseJDK
- pandas填充缺失值
- 与孩子一起学编程15章
- 使用OpenGL绘制shp文件
- 三个非负整数 马蹄集
- Frank-Wolfe方法
- 利用WinRar制作软件更新包
- 高通败诉,授权专利技术之后高通的优势不再?
- 弥散阴影html,弥漫投影的制作(也叫弥散投影)
- Intel Xeon E5-4650 VS AMD Opteron 6380
- 杀不死的Service
热门文章
- Ubuntu 16.04安装Tomcat 8 图解
- Nagios远程监控软件的安装与配置详解
- CONFIGURE CONTROLFILE AUTOBACKUP ON/OFF;
- 重建控制文件的案例(RESETLOGS模式和NORESETLOGS模式)
- 怎样使用DBMS_OUTPUT.PUT_LINE?
- IT行业分析之企业信息化技术
- python学习笔记(字典)
- H.264 Quantization
- 链接服务器 '(null)' 的 OLE DB 访问接口'STREAM' 返回了对列 '[!BulkInsert].field' 无效的数据...
- css2.1中 firefox 与IE 对margin-top的不同解释