电子商务网站分类,企业网页制作要注意什么,网站建设 三门峡,wordpress国内课题组自己复制的话#xff0c;很容易写出来一个时间复杂度O#xff08;n ^ 2#xff09; 空O#xff08;n#xff09;的做法
我们可以参考基因的复制#xff0c;
目录
题目#xff1a;
实现思路#xff08;基因复制式的copy#xff09;#xff1a;
官方快慢指针解法很容易写出来一个时间复杂度On ^ 2 空On的做法
我们可以参考基因的复制
目录
题目
实现思路基因复制式的copy
官方快慢指针解法时On空O1 博主的 时On ^ 2 空On刺眼代码
每日表情包 题目 快慢指针实现思路基因复制式的copy 1创建结点我们插入式的给每个结点的后面创建我们的新链表的结点后续会把创建的结点抠出来 2赋值我们根据模仿创建的新结点的复制对象易知我们copy的新结点的。random指针指向的就是复制对象的random指针所指向的结点的下一个结点。 3把copy的结点抠出来
细节注意random可能指向NULL如果看不懂可以去看视频力扣LeetCode官网 - 全球极客挚爱的技术成长平台
官方快慢指针解法时On空O1
struct Node* copyRandomList(struct Node* head) {if (head NULL) {return NULL;}for (struct Node* node head; node ! NULL; node node-next-next) {struct Node* nodeNew malloc(sizeof(struct Node));nodeNew-val node-val;nodeNew-next node-next;node-next nodeNew;}for (struct Node* node head; node ! NULL; node node-next-next) {struct Node* nodeNew node-next;nodeNew-random (node-random ! NULL) ? node-random-next : NULL;}struct Node* headNew head-next;for (struct Node* node head; node ! NULL; node node-next) {struct Node* nodeNew node-next;node-next node-next-next;nodeNew-next (nodeNew-next ! NULL) ? nodeNew-next-next : NULL;}return headNew;
}作者力扣官方题解
链接https://leetcode.cn/problems/copy-list-with-random-pointer/solutions/889166/fu-zhi-dai-sui-ji-zhi-zhen-de-lian-biao-rblsf/
来源力扣LeetCode
著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。 博主的 时On ^ 2 空On刺眼代码
/*** Definition for a Node.* struct Node {* int val;* struct Node *next;* struct Node *random;* };*/
struct Node* BuyNode()
{struct Node* ptmp (struct Node*)malloc(sizeof(struct Node));//assert(ptmp);ptmp-next NULL;return ptmp;
}
struct Node* copyRandomList(struct Node* head) {//sentry head 没动struct Node* Sentry BuyNode();//sentry哨兵//assert(Sentry);struct Node* pcur head, * pfr head;//pfr pFindRandomstruct Node* pNewTmp Sentry;//新链表while(pcur){pNewTmp-next BuyNode();pNewTmp pNewTmp-next;pNewTmp-val pcur-val;pcur pcur-next;}//处理randomstruct Node* pNewCur Sentry-next;pcur head;while(pNewCur){//找对应节点pfr head;pNewTmp Sentry-next;while(pcur-random ! pfr){pfr pfr-next;pNewTmp pNewTmp-next;}//赋值randompNewCur-random pNewTmp;//next结点pNewCur pNewCur-next;pcur pcur-next;}//free(sentry);return Sentry-next;
}
每日表情包 我王小桃想要赞