考察对链表的操作,注意要把原链表恢复原样
class Solution(object):
def copyRandomList(self, head):
"""
:type head: RandomListNode
:rtype: RandomListNode
"""
if not head:
return None
p=head
while p:
newtmp = RandomListNode(p.label)
newtmp.next=p.next
p.next=newtmp
p=p.next.next
p=head
while p:
if p.random:
p.next.random = p.random.next
p=p.next.next
newHead=head.next
p=head
newLN=newHead
while newLN.next:
p.next = newLN.next
p=p.next
newLN.next = p.next
newLN = newLN.next
p.next=None
newLN.next = None
return newHead

本文介绍了一种链表的复制方法,特别关注如何处理链表中的随机指针,确保复制后的链表与原链表完全一致,同时恢复原链表的状态。
3万+

被折叠的 条评论
为什么被折叠?



