- 138. Copy List with Random Point
- 138. Copy List with Random Point
- 138. Copy List with Random Point
- 138. Copy List with Random Point
- 138. Copy List with Random Point
- [刷题防痴呆] 0138 - 复制带随机指针的链表 (Copy
- copy-list-with-random-pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
剑指offer上的题目,三步走 具体的代码我没写到ac,但是思想是书上的,有个博客写的比较好https://www.cnblogs.com/zuoyuan/p/3745126.html
代码如下:
# Definition for singly-linked list with a random pointer.
# class RandomListNode:
# def __init__(self, x):
# self.label = x
# self.next = None
# self.random = None
class Solution:
def copyRandomList(self, head):
if head == None: return None
tmp = head
while tmp:
newNode = RandomListNode(tmp.label)
newNode.next = tmp.next
tmp.next = newNode
tmp = tmp.next.next
tmp = head
while tmp:
if tmp.random:
tmp.next.random = tmp.random.next
tmp = tmp.next.next
newhead = head.next
pold = head
pnew = newhead
while pnew.next:
pold.next = pnew.next
pold = pold.next
pnew.next = pold.next
pnew = pnew.next
pold.next = None
pnew.next = None
return newhead
网友评论