0

ローカル変数を宣言せずに、リンクされたリストの最後のノードを再帰的に返す関数を作成しようとしています。これは正しいですか?

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

言語はC++です

4

2 に答える 2

3
ListNode *lastPtr(ListNode* list) {
return (list && list->next) ? lastPtr(list->next) : list;
} 
于 2013-01-27T22:48:30.770 に答える
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;
}
于 2013-01-27T22:43:17.767 に答える