有一个单链表,其中结点数据域中存放的元素值可以有重复,输入一个x,统计该单链表中元素值为x的结点个数,并输出结果,如果单链表中没有元素值为x的结点,则输出0。要求编写一个独立的函数实现,假设单链表中的
时间: 2024-09-20 09:02:04 浏览: 26
数据结构单链表的创建,插入,修改,查找以及删除
5星 · 资源好评率100%
这个任务需要通过遍历单链表的方式来完成。你可以编写一个名为`countOccurrences`的函数,接受一个链表头节点`head`和一个整数`x`作为参数。以下是函数的基本步骤:
1. 初始化两个计数器:一个`count`用于记录元素值为`x`的结点个数,另一个`current`用于遍历链表。
2. 创建一个循环,当`current`不为空时,继续执行:
a. 检查当前节点的数据值是否等于`x`。
b. 如果相等,将`count`加一。
c. 然后移动到下一个节点,即`current = current.next`。
3. 循环结束后,返回`count`,表示元素值为`x`的结点数量。如果没有找到这样的结点,`count`将保持初始值0。
下面是伪代码形式的函数实现:
```python
def countOccurrences(head, x):
if head is None:
return 0
count = 0
current = head
while current:
if current.data == x:
count += 1
current = current.next
return count
```
阅读全文