c++ - 递归返回链表中的最后一个节点

标签 c++ list linked-list

我正在尝试编写一个函数,在声明任何局部变量的情况下递归地返回链表的最后一个节点。这样对吗?

ListNode* lastPtr(ListNode* list){
If(list = NULL)
Return NULL;
Else 
List = lastPtr(list->next);
If(list->next = NULL)
Return list;
}

语言是c++

最佳答案

ListNode *lastPtr(ListNode* list) {
return (list && list->next) ? lastPtr(list->next) : list;
} 

关于c++ - 递归返回链表中的最后一个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14553084/

相关文章:

c - 简单链表无法打印

c - 在c中将新节点插入头后,节点的名称是什么?

c++ - 如何解析 QString 中的转义序列?

c++ - boost::optional 到 bool 的转换

c++ - 链接到静态QT,如何找出正确的链接顺序?

c - 双链表 - 内存损坏

list - 在 Prolog 中搜索(相同)两个元素的列表

java - 从java中的链表中删除所有错误元素

c++ - 归档文件 x32 还是 x64?

string - Python3 TypeError : list indices must be integers or slices, 不是 str