当前位置: 首页 > news >正文

【Leetcode】138.随机链表的复制

目录

  • 一、题目
  • 二、思路
    • 2.1 解题思路
    • 2.2 代码尝试
    • 2.3 疑难问题
    • 2.4 AI复盘
  • 三、解法
  • 四、收获
    • 4.1 心得
    • 4.2 举一反三

一、题目


在这里插入图片描述

二、思路


2.1 解题思路

看不懂题目意思,但猜想要用环,先写个环吧

2.2 代码尝试

class Solution {
public:
    Node* copyRandomList(Node* head) {
        //用环的思想,把链表连接成环,这样的话就会避免向前遍历,然后再断开头尾的链
        Node* p=head;
        while(p->next){
            p=p->next;
        }
        p->next=head;
    }
};

2.3 疑难问题

2.4 AI复盘

三、解法


class Solution {
public:
    unordered_map<Node*, Node*> cachedNode;

    Node* copyRandomList(Node* head) {
        if (head == nullptr) {
            return nullptr;
        }
        if (!cachedNode.count(head)) {
            Node* headNew = new Node(head->val);
            cachedNode[head] = headNew;
            headNew->next = copyRandomList(head->next);
            headNew->random = copyRandomList(head->random);
        }
        return cachedNode[head];
    }
};

作者:力扣官方题解
链接:https://leetcode.cn/problems/copy-list-with-random-pointer/solutions/889166/fu-zhi-dai-sui-ji-zhi-zhen-de-lian-biao-rblsf/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

哈希表,用于存储原链表节点和拷贝链表节点的映射关系。
检查当前节点是否已经被拷贝过。

如果 cachedNode 中没有当前节点的映射,说明该节点还未被拷贝。

四、收获


4.1 心得

好简洁又高效的代码,本来以为一大串,结果用回溯简单解决了,思路设计太优雅巧妙了。
拷贝需要先创建节点,new

4.2 举一反三

如何能够掌握这种回溯的简单优雅的写法

相关文章:

  • Windows的tftp udp 69端口被占用,通过netstat查询
  • Feedback-Guided Autonomous Driving
  • Spring Cloud Gateway 生产级实践:高可用 API 网关架构与流量治理解析
  • QT 磁盘文件 教程04-创建目录、删除目录、遍历目录
  • OpenEuler kinit报错找不到文件的解决办法
  • js给后端发送请求的方式有哪些
  • 软考中级-数据库-5.1 计算机网络概述与网络硬件基础
  • Mmybatis xml 连接数据库的方法
  • PyTorch 深度学习实战(13):Proximal Policy Optimization (PPO) 算法
  • Oracle Data Guard(数据保护)详解
  • Python print() 打印多个变量时,可变对象和不可变对象的区别
  • 图论入门【数据结构基础】:什么是图?如何表示图?
  • Linux IP 配置
  • 完全托管的DeepSeek-R1模型正式登陆Amazon Bedrock:安全部署与使用指南
  • 【系统架构设计师】操作系统 - 文件管理 ② ( 位示图 | 空闲区域 管理 | 位号 | 字号 )
  • Flask 模版引擎的语法
  • C语言-自定义类型:联合和枚举
  • OpnenHarmony 开源鸿蒙北向开发——1.开发环境搭建(DevEco Studio 5.03)
  • 高主频GPU+RTX4090:AI生图性能优化超150%
  • GIT标签(Tag)操作
  • 美国第一季度经济环比萎缩0.3%
  • 美国通过《删除法案》:打击未经同意发布他人私密图像,包括“深度伪造”
  • 王毅会见泰国外长玛里:坚决有力打击电诈等跨境犯罪
  • 金科服务:大股东博裕资本提出无条件强制性现金要约收购,总代价约17.86亿港元
  • 王毅出席金砖国家外长会晤
  • 太好玩了!坐进大卫·霍克尼的敞篷车穿越他画笔下的四季