LeetCode刷题-c++版138复制带随机指针的链表-创新互联

using namespace std;
class Solution {public:
    Node* copyRandomList(Node* head) {vectornode_vec;//位置到节点的映射
        mapnode_map;//地址到位置的映射
        Node* ptr = head;
        
        int i = 0;
        while(ptr){//生成新节点,放入列表
            node_vec.push_back(new Node(ptr->val));
            node_map[ptr] = i;
            i++;
            ptr = ptr->next;
        }
        node_vec.push_back(NULL);
        ptr= head;
        i=0;
        while(ptr){//新节点依次相连
            node_vec[i]->next = node_vec[i+1];
            if(ptr->random){//通过map,找出random到位置的映射
                int node = node_map[ptr->random];
                node_vec[i]->random = node_vec[node];
            }
            else node_vec[i]->random = NULL;
            ptr = ptr->next;
            i++;
        }
        return node_vec[0];
    }
};

在这里插入图片描述

成都网站设计、成都做网站、外贸网站建设服务团队是一支充满着热情的团队,执着、敏锐、追求更好,是创新互联的标准与要求,同时竭诚为客户提供服务是我们的理念。创新互联把每个网站当做一个产品来开发,精雕细琢,追求一名工匠心中的细致,我们更用心!

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站栏目:LeetCode刷题-c++版138复制带随机指针的链表-创新互联
文章地址:http://azwzsj.com/article/djceii.html