首页 > 其他 > 详细

剑指 Offer 35. 复杂链表的复制

时间:2020-11-01 22:24:54      阅读:42      评论:0      收藏:0      [点我收藏+]

技术分享图片

思路

方法一:哈希表

 1 /*
 2 // Definition for a Node.
 3 class Node {
 4 public:
 5     int val;
 6     Node* next;
 7     Node* random;
 8     
 9     Node(int _val) {
10         val = _val;
11         next = NULL;
12         random = NULL;
13     }
14 };
15 */
16 class Solution {
17 public:
18     Node* copyRandomList(Node* head) {
19         unordered_map<Node *, Node *> mp;
20         Node *p = head;
21         while(p != NULL) {
22             mp[p] = new Node(p->val);
23             p = p->next;
24         }
25 
26         p = head;
27         while(p != NULL) {
28             mp[p]->next = mp[p->next];
29             mp[p]->random = mp[p->random];
30             p = p->next;
31         }
32 
33         return mp[head];
34 
35     }
36 };

 

方法二:原地复制

 

剑指 Offer 35. 复杂链表的复制

原文:https://www.cnblogs.com/FengZeng666/p/13911863.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!