我正在尝试编写函数,以递归方式返回链表的最后一个节点,并声明任何局部变量。这是对的吗?
ListNode* lastPtr(ListNode* list){
If(list = NULL)
Return NULL;
Else
List = lastPtr(list->next);
If(list->next = NULL)
Return list;
}
语言是c ++
答案 0 :(得分:3)
ListNode *lastPtr(ListNode* list) {
return (list && list->next) ? lastPtr(list->next) : list;
}
答案 1 :(得分:1)
C ++中的等号是,如在C中,Java是==
而不是=
尝试更正您的代码。
ListNode * lastNode(ListNode *list)
{
if (list!=NULL)
{
if (list->next==NULL)
return list;
else return lastNode(list->next);
}
else return NULL;
}