138-Copy-List-with-Random-Pointer
0x0 题目详情
给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。 要求返回这个链表的 深拷贝。 我们用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index] 表示: val:一个表示 Node.val 的整数。 random_index:随机指针指向的节点索引(范围从 0 到 n-1);如果不指向任何节点,则为 null 。
测试用例:

输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]] 输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]
0x1 解题思路
这道题一共三个步骤:
原地复制链表
设置随机指针
分裂链表
写起来也没啥好注意的。
0x2 解题思路
0x3 课后总结
这道题看着麻烦,写起来超级简单,采用原地复制,然后分裂即可。链表问题确实不难。
Last updated
Was this helpful?