Индексирование начинается с 0. Формат ввода: элементы связанного списка (разделенные пробелом и оканчивающиеся на -1)
В одном скрытом тестовом примере имеется ошибка во время выполнения. main()
принимает ввод и передает head
.
public class Solution {
static String s1="",s2="";
public static boolean isPalindrome_2(LinkedListNode<Integer> head) {
if (head != null) {
s1 = s1 + head.data;
isPalindrome_2(head.next);
s2 = s2 + head.data;
}
if (s1.equals(s2))
return true;
return false;
}
}
Как должен работать алгоритм: s1
будет хранить строку, содержащую все данные. s2
будет хранить данные в обратном порядке, так как это после рекурсивной функции. Тогда строки можно сравнить.