链表-leetcode 138. Copy List with Random Pointer
来源:互联网 发布:玩具出租软件 编辑:程序博客网 时间:2024/06/01 09:23
原题链接:Copy List With Random Pointer
题解:
/** * Definition for singly-linked list with a random pointer. * struct RandomListNode { * int label; * RandomListNode *next, *random; * RandomListNode(int x) : label(x), next(NULL), random(NULL) {} * }; */class Solution {public: RandomListNode *copyRandomList(RandomListNode *head) { /* 步骤:1.在每一个节点之后创建一个新节点,一一对应2.配置random,random->next->next就是新节点的random 3.还原新旧节点 Time Complexity:O(N) Space Complexity:O(N) */ if(!head)return NULL; RandomListNode* res=head,*tmp=NULL; RandomListNode* last=new RandomListNode(0); while(head){ tmp=new RandomListNode(head->label); tmp->next=head->next; head->next=tmp; head=head->next->next; } head=res; last->next=head; res=last; while(head){ head->random!=NULL?head->next->random=head->random->next:head->next->random=NULL; head=head->next->next; } head=res; tmp=head->next; while(head->next){ head->next=head->next->next; head=head->next; tmp->next=head->next; tmp=tmp->next; } head->next=NULL; return res->next;}};
阅读全文
1 0
- 链表-leetcode 138. Copy List with Random Pointer
- LeetCode 138. Copy List with Random Pointer
- [Leetcode] 138. Copy List with Random Pointer
- LeetCode 138. Copy List with Random Pointer
- [leetcode] 138. Copy List with Random Pointer
- LeetCode 138. Copy List with Random Pointer
- LeetCode 138. Copy List with Random Pointer
- leetcode.138. Copy List with Random Pointer
- LeetCode-138.Copy List with Random Pointer
- Leetcode 138. Copy List with Random Pointer
- [Leetcode]138. Copy List with Random Pointer
- LeetCode 138. Copy List with Random Pointer
- [LeetCode] 138. Copy List with Random Pointer
- [LeetCode]138. Copy List with Random Pointer
- LeetCode 138. Copy List with Random Pointer
- Leetcode-138. Copy List with Random Pointer
- Leetcode 138. Copy List with Random Pointer
- leetcode 138. Copy List with Random Pointer
- Android关于一个页面双列表内嵌gridview单选问题
- Hololens开发基础知识
- 通向架构师的道路(第六天)之漫谈基于数据库的权限系统的设计
- TCP传输控制协议
- 小米推送引入
- 链表-leetcode 138. Copy List with Random Pointer
- An entity object cannot be referenced by multiple instances of IEntityChangeTracker错误解决
- 通向架构师的道路(第七天)之漫谈使用ThreadLocal改进你的层次的划分
- VBA插入行和插入列的作用域
- 树莓派安装centos7乱码解决
- 【Leetcode】【python】Array Partition I, Number Complement
- 【JavaScript转义字符对照表】
- 欢迎使用CSDN-markdown编辑器
- CenOS7搭建Redis-3.2.9及整合Jedis