Вот кодJava рекурсивный о движении задним ходом единого списка
public static ListCell reverse(ListCell f) {
if (f==null)
return null;
else if (f.getNext()==null)
return f;
else {
ListCell head = reverse(f.getNext());
f.getNext().setNext(f);
f.setNext(null);
return head;
}
}
Я смущен о f.setNext(null)
. Рассмотрим второй рекурсивный вызов, reverse(f.getNext())
. Но f.getNext().next
должно быть f
, а не null
. В этом предложении каждый node.next
будет установлен null
. Так что я немного запутался
Это ваш код или что-то, что вы нашли? –
Это правильный код, над которым я работаю. – codemonkey
Вы получаете правильный ожидаемый результат? – rajuGT