void retLast(ListNode* list1) { while (list1->next != nullptr) { list1 = list1->next; } }为何返回的还是最初的头节点
时间: 2023-12-10 22:39:32 浏览: 95
the-single-linked-list.zip_single
这是因为函数`retLast`中只是对`list1`进行了遍历,但并没有将最后一个节点返回。如果你想要返回最后一个节点,应该将遍历到的最后一个节点返回,而不是只对`list1`进行操作。可以修改函数代码如下:
```c++
ListNode* retLast(ListNode* list1) {
while (list1->next != nullptr) {
list1 = list1->next;
}
return list1;
}
```
这样,函数就会返回最后一个节点的指针了。
阅读全文