Недавно мне задали один вопрос, который в единственно связанном списке, как нам перейти к середине списка за одну итерацию.
A --> B --> C --> D (even nodes)
для этого он должен вернуть адрес, который указывает на B
A --> B --> C (odd nodes)
для этого также должен возвращать адрес, который указывает на B
Существует одно решение - взять два указателя, один ход один раз, а другой - два раза, но здесь это не похоже.
LinkedList p1,p2;
while(p2.next != null)
{
p1 = p1.next;
p2 = p2.next.next;
}
System.out.print("middle of the node" + p1.data); //This does not give accurate result in odd and even
Пожалуйста, помогите, если кто-то делал это раньше.