高阶-5 链表——统计节点个数 定义函数,遍历一个不带头结点的链表,统计链表上的节点个数
时间: 2023-07-11 16:46:17 浏览: 440
好的,根据您的要求,我理解您需要一个 C++ 函数,能够统计一个不带头结点的链表上的节点个数。那么,以下是一个示例代码:
```cpp
int countNodes(ListNode* head) {
int count = 0;
ListNode* cur = head;
while (cur != nullptr) {
count++;
cur = cur->next;
}
return count;
}
```
在这个示例函数中,我们使用了一个计数器变量 count,以及一个指向当前节点的指针 cur。首先,将计数器初始化为 0,然后将 cur 指向链表的头结点 head,然后开始循环遍历链表。每循环一次,计数器加 1,然后将 cur 指向下一个节点,直到 cur 指向 nullptr 表示已经遍历完整个链表,此时返回计数器的值即可。
需要注意的是,这个函数的参数类型是 ListNode*,表示链表的头指针。因此,在使用这个函数时,需要先构建一个链表,并将链表的头指针作为参数传入。
相关问题
C语言 高阶-5 链表——统计节点个数 定义函数,遍历一个不带头结点的链表,统计链表上的节点个数
好的,根据您的要求,我理解您需要一个 C 语言函数,能够统计一个不带头结点的链表上的节点个数。那么,以下是一个示例代码:
```c
int countNodes(struct ListNode* head) {
int count = 0;
struct ListNode* cur = head;
while (cur != NULL) {
count++;
cur = cur->next;
}
return count;
}
```
在这个示例函数中,我们使用了一个计数器变量 count,以及一个指向当前节点的指针 cur。首先,将计数器初始化为 0,然后将 cur 指向链表的头结点 head,然后开始循环遍历链表。每循环一次,计数器加 1,然后将 cur 指向下一个节点,直到 cur 指向 NULL 表示已经遍历完整个链表,此时返回计数器的值即可。
需要注意的是,这个函数的参数类型是 struct ListNode*,表示链表的头指针。因此,在使用这个函数时,需要先构建一个链表,并将链表的头指针作为参数传入。
高阶-1 链表-查找链表最后节点
要查找链表的最后一个节点,可以使用两个指针来迭代链表。一个指针指向当前节点,另一个指针指向当前节点的下一个节点。当后一个指针为空时,当前指针就指向了最后一个节点。
以下是一个示例代码:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def find_last_node(head):
if not head:
return None
current = head
while current.next:
current = current.next
return current
```
这个代码中,我们定义了一个链表节点类 ListNode,包含一个值 val 和一个指向下一个节点的指针 next。函数 `find_last_node` 接受链表的头节点作为参数,并返回最后一个节点。
我们从头节点开始,通过迭代将当前节点指针移动到下一个节点,直到遇到最后一个节点(即下一个节点为空)。最后,返回当前节点作为结果。
希望这个回答对你有帮助!如果还有其他问题,请随时提问。
阅读全文
相关推荐
![c](https://img-home.csdnimg.cn/images/20250102104920.png)
![text/x-c](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)