复杂链表的复制。。。链表的复制
来源:互联网 发布:货运平台软件下载 编辑:程序博客网 时间:2024/06/06 06:31
题目描述
输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)
class Solution {public: RandomListNode* Clone(RandomListNode* pHead) { if(pHead==NULL) return NULL; map<RandomListNode*,RandomListNode*> table; //第一个节点 RandomListNode* pClonedHead=new RandomListNode(pHead->label); table[pHead]=pClonedHead; RandomListNode* pNode=pHead->next; RandomListNode* pClonedNode=pClonedHead; //接龙 while(pNode!=NULL) { RandomListNode* pClonedTail=new RandomListNode(pNode->label); pClonedNode->next=pClonedTail; pClonedNode=pClonedNode->next; table[pNode]=pClonedNode; pNode=pNode->next; } //再来一次,为了random pNode=pHead; pClonedNode=pClonedHead; while(pNode!=NULL) { pClonedNode->random=table[pNode->random]; pNode=pNode->next; pClonedNode=pClonedNode->next; } return pClonedHead; }};
还有拆分和递归两种方法。
0 0
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复制复杂的链表
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- mantis bug 管理平台 关于筛选一点记录
- Java安全加密
- 使用iframe,父页面和子页面jquery冲突
- TCP和UDP的最完整的区别
- [剑指Offer]二维数组中的查找[java]
- 复杂链表的复制。。。链表的复制
- centos 7 kafka 2.10-0.10.2.0 集群
- VS2008编译boost正则表达式库Regex过程中的注意事项
- [IMWeb训练营作业]select组件 20170424
- 关于自定义0开机动画bootanimation
- iOS开发之真机调试相关文件创建全过程(最新)
- 用自己的数据,制作python版本的cifar10数据集
- JSP声明
- Ubuntu 安装 Electron