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

Returning last node in linked list recursively

本文关键字:最后一个 节点 返回 链表 递归      更新时间:2023-10-16

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

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++中的等号是,就像在C中一样,Java是==而不是=

尝试更正您的代码。

ListNode * lastNode(ListNode *list)
{
    if (list!=NULL)
    {
        if (list->next==NULL)
            return list;
        else return lastNode(list->next);
    }
    else return NULL;
}