复杂链表的复制
来源:互联网 发布:手机看电视台直播软件 编辑:程序博客网 时间:2024/06/06 06:55
/*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 pHead;cloneNext(pHead); cloneRandom(pHead); pHead = separate(pHead); return pHead;}private: void cloneNext(RandomListNode* head){ while(head != NULL){ RandomListNode* temp = new RandomListNode(head->label); temp->next = head->next; head->next = temp; head = temp->next; } } void cloneRandom(RandomListNode* head){ while(head != NULL){ if(head->random != NULL) head->next->random = head->random->next; head = head->next->next; } } RandomListNode* separate(RandomListNode* head){ RandomListNode* temp = head->next; RandomListNode* newHead = head->next; while(newHead->next != NULL){ head->next = newHead->next; newHead->next = newHead->next->next; head = head->next; newHead = newHead->next; } head->next = NULL; return temp; }};
0 0
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复制复杂的链表
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- Java单元测试进阶之如何进行界面测试(也让界面测试自动化起来)
- [C++]LeetCode 8:String to Integer (atoi)(字符串转int)
- linux ipc 进程间通信
- 算法 时间复杂度|空间复杂度
- 【HDU 1874 2544 2066 2112】 Dijkstra单源最短路径专题 —— 优先队列+邻接表/邻接矩阵
- 复杂链表的复制
- MySql插入数据,中文乱码问题
- Java单元测试进阶之如何打桩(用easymock轻松打桩)
- Android笔记记录(1)——去掉Title
- iOS清除缓存
- 一些绕过waf的笔记
- Linux内核学习总结
- 原码,反码,补码,左移,右移
- 关于Java中的String.format()方法