class Node {
public:
int value;
Node* next = NULL;
};
bool find(Node* node, int element) {
if(node -> value == element) return true;
else if(node -> value) return find(node -> next, element);
else return false;
}
Failed test #1. Wrong answer
Input:
2
0 -> 1 -> 2 -> 3 -> 4 -> 5
Your output:
false
Correct output:
true
bool find(node* n, int value)
{
node* ptr = n;
while(ptr != nullptr)
{
if(ptr->value == value) return true;
ptr = ptr->next;
}
return false;
}
node* find(node* n, int value)
{
node* ptr = n;
while(ptr != nullptr)
{
if(ptr->value == value) return ptr;
ptr = ptr->next;
}
return ptr;
}
node* result = find(...);
if(result)
{
//...
}
Что я делаю не так?Не занимаетесь отладкой своей программы. Если не умеете пользоваться отладчиком, то возьмите лист бумаги, карандаш, и пошагово пройдите всю свою программу.