Мне было интересно, может ли кто-нибудь помочь объяснить, как перевернуть односвязный список без создания новых узлов или изменения данных в существующих узлах. Я пытаюсь подготовиться к финалу, и у нас был этот вопрос на предыдущем тесте. Они не публикуют ответы на части кода теста, и я не смог понять это.
Они сказали нам, что лучший способ обратить это вспять - это использовать «технику бегуна», которая, я думаю, я понимаю, что это такое. Они описали это как использование двух указателей или счетчиков, чтобы просмотреть список и собрать информацию, но я не уверен, как использовать это, чтобы полностью изменить список, который понравился. Я был в состоянии перебором кода, чтобы перевернуть список длиной 2, 3 и 4, но я не смог сделать цикл или сделать это рекурсивно. Спасибо за любой код или объяснение, как это сделать, спасибо.