1. 程式人生 > >python leetcode 138. Copy List with Random Pointer

python leetcode 138. Copy List with Random Pointer

考察對連結串列的操作,注意要把原連結串列恢復原樣

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