138.随机链表的复制

张开发
2026/4/9 19:23:46 15 分钟阅读

分享文章

138.随机链表的复制
package org.example; import java.util.HashMap; import java.util.Map; class Solution { // 原链表和新链表结点的对应关系 // key原链表的结点 // value新链表的结点 private final MapNode, Node nodeMap new HashMap(); public Node copyRandomList(Node head) { if (head null) { return null; } if (!nodeMap.containsKey(head)) { // 创建结点 Node node new Node(head.val); // 更新 nodeMap nodeMap.put(head, node); // 递归地复制该结点的 next 域的结点 node.next copyRandomList(head.next); // 递归地复制该结点的 random 域的结点 node.random copyRandomList(head.random); return node; } else { return nodeMap.get(head); } } }

更多文章