html用表格做网站,做设计找素材都有什么网站,东莞市城建局,什么是核心关键词11.随机链表的复制
138. 随机链表的复制 - 力扣#xff08;LeetCode#xff09; /*
解题思路#xff1a;
此题可以分三步进行#xff1a;
1.拷贝链表的每一个节点#xff0c;拷贝的节点先链接到被拷贝节点的后面
2.复制随机指针的链接#xff1a;拷贝节点的随机指针指向…11.随机链表的复制
138. 随机链表的复制 - 力扣LeetCode /*
解题思路
此题可以分三步进行
1.拷贝链表的每一个节点拷贝的节点先链接到被拷贝节点的后面
2.复制随机指针的链接拷贝节点的随机指针指向被拷贝节点随机指针的下一个位置
3.拆解链表把拷贝的链表从原链表中拆解出来
*/class Solution {
public:Node* copyRandomList(Node* head) {// 1.拷贝链表并插入到原节点的后面Node* cur head;while(cur){Node* next cur-next;Node* copy (Node*)malloc(sizeof(Node));copy-val cur-val;// 插入cur-next copy;copy-next next;// 迭代往下走cur next;}// 2.置拷贝节点的randomcur head;while(cur){Node* copy cur-next;if(cur-random ! NULL)copy-random cur-random-next;elsecopy-random NULL;cur copy-next;}// 3.解拷贝节点链接拷贝节点Node* copyHead NULL, *copyTail NULL;cur head;while(cur){Node* copy cur-next;Node* next copy-next;// copy解下来尾插if(copyTail NULL){copyHead copyTail copy;}else{ copyTail-next copy;copyTail copy;}cur-next next;cur next;}return copyHead;}
};