实现一个函数,遍历一个不带头结点的链表,求链表节点数据的累加和节点类型定义
时间: 2024-10-25 07:18:27 浏览: 28
头歌数据结构二叉树的二叉链表存储及基本操作
5星 · 资源好评率100%
在编程中,我们可以创建一个函数来遍历一个无头结点的链表,其基本步骤通常包括定义链表节点的结构体或类,并实现一个函数来计算累加和。这里假设我们有一个`ListNode`类型的链表节点,它包含一个整数值`val`和指向下一个节点的指针`next`。
首先,我们需要定义链表节点:
```cpp
// 如果使用C++:
struct ListNode {
int val; // 节点值
ListNode* next; // 指向下一个节点的指针
};
```
或者
```java
// 如果使用Java:
class ListNode {
int val;
ListNode next;
ListNode(int val) {
this.val = val;
this.next = null;
}
}
```
然后,可以编写一个遍历链表并计算累加和的函数。这个函数通常接收链表的头部作为输入,初始累加和设为0,然后逐个访问每个节点并更新累加和:
```cpp
int sumList(ListNode* head) {
if (head == nullptr) return 0; // 空链表的情况
int totalSum = 0;
ListNode* current = head;
while (current != nullptr) {
totalSum += current->val;
current = current->next;
}
return totalSum;
}
```
或
```java
public int sumList(ListNode head) {
if (head == null) return 0; // 空链表的情况
int totalSum = 0;
ListNode current = head;
while (current != null) {
totalSum += current.val;
current = current.next;
}
return totalSum;
}
```
阅读全文