写一求单链表的结点数目ListLength(L)的算法
时间: 2024-12-23 08:13:18 浏览: 2
数据结构 实验一:实现单链表各种基本运算的算法.doc
5星 · 资源好评率100%
求解单链表节点数目的算法通常涉及遍历链表,从头节点开始逐个计数。这里是一个简单的Python示例:
```python
class ListNode:
def __init__(self, x):
self.val = x
self.next = None
def list_length(L):
if L is None: # 如果链表为空,返回0
return 0
else:
count = 1 # 初始化计数器为1,因为当前节点已经存在
current = L # 当前节点指向头节点
while current.next is not None: # 遍历直到链表结束
current = current.next # 指针向前移动
count += 1 # 计数加1
return count # 返回链表长度
# 使用示例
# 假设有一个已创建的链表L
length = list_length(L)
```
这个函数首先检查链表是否为空,如果为空则返回0。然后通过一个循环,每次迭代都会将指针`current`移到下一个节点,并增加计数器`count`,直到链表的末尾。最后返回计算得到的节点总数。
阅读全文