在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。...3:
输入:head = [[3,null],[3,0],[3,null]]
输出:[[3,null],[3,0],[3,null]]
示例 4:
输入:head = []
输出:[]
解释:给定的链表为空...提示:
-10000 <= Node.val <= 10000
Node.random 为空(null)或指向链表中的节点。
节点数目不超过 1000 。...解题思路:
1,本题难点在于有个随机指针
2,随机指针有3种情况:
(1)可以指向自己
(2)指向前方节点
(3)指向后方节点
3,直接复制,没有规律可找,
4,所以先不考虑随机指针,原地复制链表...,即在每个节点后下一个节点之间插一个当前节点的copy
5,复制随机指针,每个copy节点的随机指针,都是当前节点随机指针指向元素的下一个元素。