剑指offer-26复杂链表的复制
来源:互联网 发布:王菲 蔡依林 知乎 编辑:程序博客网 时间:2024/06/05 16:43
输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点)。
/*struct RandomListNode { int label; struct RandomListNode *next, *random; RandomListNode(int x) : label(x), next(NULL), random(NULL) { }};*/class Solution {public: RandomListNode* Clone(RandomListNode* pHead) { if(pHead==NULL) return NULL; RandomListNode* Node=pHead; //将链表的各个镜像节点插入每个原节点的后面 while(Node!=NULL) { RandomListNode* temp = new RandomListNode(Node->label); temp->next=Node->next; Node->next=temp; Node=temp->next; } Node=pHead; //将每个镜像节点的random指针设置为对应的镜像节点 while(Node!=NULL) { if(Node->random) Node->next->random=Node->random->next; Node=Node->next->next; } RandomListNode * clone=pHead->next; RandomListNode * newHead=pHead->next; Node=pHead; //分拆2个链表 while(Node!=NULL) { //判断是否到了链表的最后一个非空节点 if(clone->next==NULL) { Node->next=NULL; break; } Node->next=clone->next; clone->next=Node->next->next; clone=clone->next; Node=Node->next; } return newHead; }};
0 0
- 【剑指offer】复杂链表的复制
- 剑指offer--复杂链表的复制
- 《剑指offer》复杂链表的复制
- 剑指offer:复杂链表的复制
- 剑指offer - 复杂链表的复制
- 剑指Offer--复杂链表的复制
- 剑指offer:复杂链表的复制
- 【剑指offer】复杂链表的复制
- 剑指offer-复杂链表的复制
- 剑指offer:复杂链表的复制
- 剑指offer:复杂链表的复制
- [剑指offer]复杂链表的复制
- 【剑指offer】复杂链表的复制
- 剑指offer|复杂链表的复制
- 《剑指offer》复杂链表的复制
- 剑指Offer:复杂链表的复制
- 剑指offer 复杂链表的复制
- 剑指offer-复杂链表的复制
- Ubuntu 编写简单的脚本
- Handler与HandlerThread、IntentService源码解析
- Codeforces Round #354 (Div. 2) B (模拟)
- 思迅代理商网站模板
- 第五次课总结及思考
- 剑指offer-26复杂链表的复制
- 循环队列基本实现
- 当AlphaGo战胜李世石以后,我们来聊聊深度学习
- 记MFC自绘ListBox闪烁处理
- iOS 图片剪切
- 用css布局页脚,固定页脚始终在最下面
- XML——XML介绍和基本语法
- 字典(trie)树的应用与实现
- 编码问题