单向线性链表def__len__():
时间: 2024-09-26 21:18:38 浏览: 71
单向线性链表是一种数据结构,其中每个节点包含两个部分:数据域和指向下一个节点的指针。`__len__()`是一个特殊的方法,它是Python内置的用于计算序列(如列表、字符串或链表)长度的关键字。如果在一个类中实现了`__len__()`,那么当我们尝试获取该对象的长度时,会自动调用这个方法。
对于单向线性链表,`__len__()`通常会遍历整个链表,从头节点开始计数,直到到达最后一个节点,然后返回计数的结果。这个过程不需要反向迭代,因为链表的结构决定了访问顺序只能向前。
举个简单的例子:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def __len__(self):
length = 0
current = self
while current is not None:
length += 1
current = current.next
return length
```
在这个链表类中,当你对一个链表实例调用`len(lst)`时,它将返回链表的实际节点数。
阅读全文