美文网首页
382. Linked List Random Node

382. Linked List Random Node

作者: 阿团相信梦想都能实现 | 来源:发表于2016-12-24 06:32 被阅读0次
    # Definition for singly-linked list.
    # class ListNode(object):
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None
    
    class Solution(object):
    
        def __init__(self, head):
            """
            @param head The linked list's head.
            Note that the head is guaranteed to be not null, so it contains at least one node.
            :type head: ListNode
            """
            self.head=head
            
    
        def getRandom(self):
            """
            Returns a random node's value.
            :rtype: int
            """
            res=None
            count=0
            cur=self.head
            while cur:
                if random.randint(0,count)==0:
                    res=cur.val
                count+=1
                cur=cur.next
            return res
    
    
    # Your Solution object will be instantiated and called as such:
    # obj = Solution(head)
    # param_1 = obj.getRandom()
    

    相关文章

      网友评论

          本文标题:382. Linked List Random Node

          本文链接:https://www.haomeiwen.com/subject/vqslvttx.html