设计一个算法,求一个不带头结点的单链表中的结点个数
时间: 2024-05-01 08:17:15 浏览: 71
小白算法积累——单链表15#2个带头结点单链表+提取公共元素+二表合一
1. 初始化计数器count为0,指针p指向头结点。
2. 如果p不为空,执行以下步骤:
a. count加1。
b. p指向下一个结点。
3. 返回count作为链表中结点的个数。
算法实现:
```
int countNodes(ListNode* head) {
int count = 0;
ListNode* p = head;
while (p != nullptr) {
count++;
p = p->next;
}
return count;
}
```
其中ListNode为链表结点的定义,包含一个整型数值val和一个指向下一个结点的指针next。
阅读全文