Я пытаюсь найти палиндромы в заданном связанном списке, рекурсивно переходя к последнему узлу в списке и сравнивая первый узел с последним узлом в списке.
Мой LinkedList имеет стандартные узлы с элементом значения int и указателем на следующий узел.
Я передаю указатель на указатель головного узла в качестве первого параметра и меняю его на следующий при каждом успешном совпадении, но я получаю ошибка в синтаксисе. Может кто-нибудь объяснить, почему я получаю эту ошибку?
Фрагмент кода:
bool isPalindromeRecur(Node** left, Node* right){
if(right == nullptr) return true;
bool isP = isPalindromeRecur(left,right->next);
if(!isP) return false;
bool isP1 = (*(left)->val == right->val);
*left = *(left)->next;
return isP1;
}
Я получаю ошибки в строках 5 и 6.
error: request for member 'val' in '* left', which is of pointer type 'Node*' (maybe you meant to use '->' ?)
bool isP1 = (*(left)->val == right->val);
^~~
error: request for member 'next' in '* left', which is of pointer type 'Node*' (maybe you meant to use '->' ?)
*left = *(left)->next;
^~~~