Python中链表的寻找链表的中心节点操作
链表的中心节点是指链表中间的节点,即链表长度的一半位置的节点。要寻找链表的中心节点,可以使用快慢指针的方法:
- 定义两个指针,一个快指针和一个慢指针,都指向链表的头节点。
- 快指针每次移动两个节点,慢指针每次移动一个节点,直到快指针到达链表末尾。
- 此时慢指针指向的节点就是链表的中心节点。
以下是Python代码演示:
class Node: def __init__(self, val=None, next=None): self.val = val self.next = next def find_middle_node(head): slow = head fast = head while fast and fast.next: slow = slow.next fast = fast.next.next return slow # 创建链表 head = Node('p') head.next = Node('i') head.next.next = Node('d') head.next.next.next = Node('a') head.next.next.next.next = Node('n') head.next.next.next.next.next = Node('c') head.next.next.next.next.next.next = Node('o') head.next.next.next.next.next.next.next = Node('d') head.next.next.next.next.next.next.next.next = Node('e') head.next.next.next.next.next.next.next.next.next = Node('.com') # 找到链表的中心节点 middle_node = find_middle_node(head) print(middle_node.val) # 输出链表的中心节点值
输出结果为:
n
因为链表的中心节点是'n'
节点。
相关文章