2016-11-09 2 views
-1
int last(Node *head) // complete this, must be recursive 
{ 
    Node *ptr = head; 
    if (ptr != NULL) { 
     if (ptr->next == NULL) 
      return ptr->num; 
     else 
      last(ptr->next); 
    } 
} 

私は最後の値を返そうとしていますが、値を返そうとしている方法と問題がありますが、わかりませんどのように私はそれについて行く必要があります。リンクされたリストの最後の値の戻り値を再帰的に返します

+3

'else last(ptr-> next);' else 'last(ptr-> next);'。 –

+2

多分これらの状況で助けとなる警告を読むと –

+0

は最後に戻るように変更した後(ptr-> next);私はエラーが表示されます:警告:コントロールは非void関数の終わりに達します[-Wreturn-type] } – garrett1027

答えて

2
int last(Node *current) 
{ 
    // degenerate case 
    if (current == NULL) return 0; //or pick another number if you want 

    // last element found 
    if (current->next == NULL) return current->num; 

    // recursive 
    return last(current->next); 
} 
関連する問題