Сегодня у меня было интервью для позиции разработчика, и мне был задан интересный технический вопрос, на который я не знал ответа. Я спрошу его здесь, чтобы узнать, может ли кто-нибудь предоставить мне решение для моего любопытства. Это многочастный вопрос:
1) Вам предоставляется одноуровневый список со 100 элементами (целое число и указатель на следующий node), найти способ обнаружить, есть ли перерыв или повреждение на полпути через связанный список? Вы можете сделать что-либо со связанным списком. Обратите внимание, что вы должны сделать это в списке, поскольку он выполняет итерацию, и это проверка, прежде чем вы поймете, что в списке есть какие-либо проблемы с ним.
Предполагая, что разрыв в связанном списке находится в 50-м элементе, целое число или даже указатель на следующий node (51-й элемент) может указывать на значение мусора, которое не обязательно является недопустимым адресом.
2) Обратите внимание, что если в связанном списке есть повреждение, как бы вы минимизировали потерю данных?