class Node:
def __init__(self, value=None, next_addr=None):
self._value = value
self._next_addr = next_addr
@property
def next_addr(self):
return self._next_addr
@next_addr.setter
def next_addr(self, addr):
self._next_addr = addr
@property
def value(self):
return self._value
@value.setter
def value(self, value):
self._value = value
def get_mid(first):
fast = first
slow = first
while fast.next_addr and fast.next_addr.next_addr:
fast = fast.next_addr.next_addr
slow = slow.next_addr
return slow.value
if __name__ == '__main__':
aa = Node(value='aa')
bb = Node(value='bb')
cc = Node(value='cc')
dd = Node(value='dd')
ee = Node(value='ee')
aa.next_addr = bb
bb.next_addr = cc
cc.next_addr = dd
print(get_mid(aa))
python实现快慢指针查找中间值
最新推荐文章于 2023-03-09 21:30:00 发布