Тестовый пример связанного списка палиндромов не пройден [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Тестовый пример связанного списка палиндромов не пройден [закрыто]

Сообщение Гость »


Я решаю вопрос leetcode - проверить, является ли данный связанный список палиндромом или нет - и застрял на тестовом примере [1,0,0]. Раньше я застрял на тестовом примере [1,0,1], так как мой код работал только для четных узлов. Я понял это и добавил условие if. Но сейчас я застрял на тестовом примере [1,0,1].

Код: Выделить всё

bool isPalindrome(ListNode* head)
{
if(head == NULL || head->next == NULL)
{
return head;
}
ListNode* one_step = head;
ListNode* two_step = head;
stack check;

while(two_step != NULL && two_step->next != NULL)
{
check.push(one_step->val);
one_step = one_step->next;
two_step = two_step->next->next;
}
if(two_step != NULL)  //to make the code work for odd number of node
{
if(two_step->next == NULL)
{
check.push(one_step->val);
}
}

while(one_step != NULL)
{
if(one_step->val == check.top())
{
return true;
}
check.pop();
one_step = one_step->next;
}
return false;
}


Источник: https://stackoverflow.com/questions/781 ... -case-fail
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»