【数据结构OJ题】复制带随机指针的链表

简介: 力扣题目——复制带随机指针的链表

1. 题目描述

image.png

2. 思路分析

此题可以分三步进行:

  1. 拷贝链表的每一个结点,拷贝的结点先链接到被拷贝结点的后面。
  2. 复制随机指针的链接:拷贝结点的随机指针指向被拷贝结点随机指针的下一个位置。
  3. 拆解链表,把拷贝的链表从原链表中拆解出来。

3. 代码实现

/**
 * Definition for a Node.
 * struct Node {
 *     int val;
 *     struct Node *next;
 *     struct Node *random;
 * };
 */

struct Node* copyRandomList(struct Node* head) {
   
   
    struct Node* cur=head;
    while(cur)
    {
   
   
        struct Node* next=cur->next;
        struct Node* copy=(struct Node*)malloc(sizeof(struct Node));
        copy->val=cur->val;
        cur->next=copy;
        copy->next=next;
        cur=next;
    }
    cur=head;
    while(cur)
    {
   
   
        struct Node* copy=cur->next;
        if(cur->random==NULL)
            copy->random=NULL;
        else
            copy->random=cur->random->next;

        cur=copy->next;
    }
    cur=head;
    struct Node* copyhead=NULL,*copytail=NULL;
    while(cur)
    {
   
   
        struct Node* copy=cur->next;
        struct Node* next=copy->next;
        if(copytail==NULL)
            copyhead=copytail=copy;
        else
        {
   
   
            copytail->next=copy;
            copytail=copytail->next;
        }
        cur->next=next;
        cur=next;
    }
    return copyhead;
}

image.png

相关文章
|
6天前
crash —— 如何知道哪些数据结构内嵌了指定的数据结构或者内嵌了指向指定数据结构的指针
crash —— 如何知道哪些数据结构内嵌了指定的数据结构或者内嵌了指向指定数据结构的指针
|
2月前
【数据结构OJ题】环形链表
力扣题目——环形链表
30 3
【数据结构OJ题】环形链表
|
2月前
【数据结构OJ题】环形链表II
力扣题目——环形链表II
18 1
【数据结构OJ题】环形链表II
|
2月前
【数据结构OJ题】相交链表
力扣题目——相交链表
23 1
【数据结构OJ题】相交链表
|
1月前
|
Python
【Leetcode刷题Python】138. 复制带随机指针的链表
LeetCode上题目“138. 复制带随机指针的链表”的Python解决方案,包括两种方法:一种是在每个节点后复制一个新节点然后再分离出来形成新链表;另一种是构建一个字典来跟踪原始节点与其副本之间的映射关系,从而处理新链表的构建。
12 1
|
15天前
|
存储 算法 数据处理
指针与链表
指针与链表
46 0
|
3月前
|
C语言
指针进阶(C语言终)
指针进阶(C语言终)
|
24天前
|
C语言
【C初阶——指针5】鹏哥C语言系列文章,基本语法知识全面讲解——指针(5)
【C初阶——指针5】鹏哥C语言系列文章,基本语法知识全面讲解——指针(5)
|
24天前
|
C语言
【C初阶——指针4】鹏哥C语言系列文章,基本语法知识全面讲解——指针(4)
【C初阶——指针4】鹏哥C语言系列文章,基本语法知识全面讲解——指针(4)
|
24天前
|
存储 编译器 C语言
【C初阶——指针3】鹏哥C语言系列文章,基本语法知识全面讲解——指针(3)
【C初阶——指针3】鹏哥C语言系列文章,基本语法知识全面讲解——指针(3)