zoukankan      html  css  js  c++  java
  • 环形链表2

     双指针:

    # Definition for singly-linked list.
    # class ListNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None

    class Solution:
        def detectCycle(self, head: ListNode) -> ListNode:
            if head is None or head.next is None:
                return 
            slow = fast = head
            while slow and fast and fast.next :
                slow = slow.next
                fast = fast.next.next
                if slow is fast:
                    break
            if fast is None or fast.next is None: #表明没有环
                return 
            tmp = head
            while tmp is not slow:
                tmp = tmp.next
                slow = slow.next
            return slow
     
    语言特性:
    # Definition for singly-linked list.
    # class ListNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None

    class Solution:
        def detectCycle(self, head: ListNode) -> ListNode:
    #        if head is None and head.next is None:
     #           return head 
            hashmap = []
            while head:
                if head in hashmap:
                    return head
                hashmap.append(head)
                head = head.next
            return None
  • 相关阅读:
    【矩阵乘法优化dp】[Codeforces 621E] Wet Shark and Blocks
    【2016常州一中夏令营Day7】
    【2016常州一中夏令营Day6】
    【2016常州一中夏令营Day5】
    【2016常州一中夏令营Day4】
    【2016常州一中夏令营Day3】
    【2016常州一中夏令营Day2】
    Aiopr的中文意思
    Bloom filter
    redis4.0.2集群搭建
  • 原文地址:https://www.cnblogs.com/shamoguzhou/p/15306596.html
Copyright © 2011-2022 走看看