思路:
单向链表中,获取正数第 N 个节点的方法,只需要从 head 向后前进 N 步即可。

代码:
In [1]: class Node:
...: def __init__(self, value, next=None):
...: self.value = value
...: self.next = next
In [2]: def get(n, head):
...: node = head
...: for i in range(n):
...: node = node.next
...: return node.value
# 定义一个链表 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> None
In [3]: node6 = Node(6)
...: node5 = Node(5, node6)
...: node4 = Node(4, node5)
...: node3 = Node(3, node4)
...: node2 = Node(2, node3)
...: node1 = Node(1, node2)
In [4]: get(0, node1)
Out[4]: 1
In [5]: get(1, node1)
Out[5]: 2
In [6]: get(4, node1)
Out[6]: 5
获取反向第 N 个节点。
因为单向链表无法获取当前节点之前的数据信息。所以1个指针无法完成这个工作,需要第二个指针,在第一个节点出发 N 步之后再出发,这样

本文介绍了单向链表中正向和反向定位特定节点的方法,并提供了详细的Python实现代码。通过一个指针直接获取正向节点,使用双指针技巧获取反向节点。
最低0.47元/天 解锁文章
4084

被折叠的 条评论
为什么被折叠?



