已知head指针指向一个已建立的单向链表。链表中每个节点包含数据域(data)和指针域(next)。定义一个函数求链表中所有节点的数据域之和。
时间: 2024-01-24 21:17:07 浏览: 76
关于链表 指针
可以通过遍历链表,将每个节点的数据域加起来得到所有节点数据域之和。下面是一个示例代码:
```c++
int sumLinkedList(ListNode* head) {
int sum = 0;
ListNode* p = head;
while (p != nullptr) {
sum += p->data;
p = p->next;
}
return sum;
}
```
其中,ListNode是链表节点的结构体,定义如下:
```c++
struct ListNode {
int data;
ListNode* next;
ListNode(int x) : data(x), next(nullptr) {}
};
```
函数sumLinkedList的参数head指向链表的头节点。变量sum用于记录累加的结果,p用于遍历链表。在每个循环中,先将当前节点的数据域加到sum中,再将指针p移动到下一个节点。最终返回sum即可。
阅读全文