Я делал вопрос онлайн-кодирования об удалении элементов нечетного значения из связанного списка.Удалить элемент с нечетным значением из LinkedList
Однако мой следующий код оказывается прекращенным из-за таймаута. Я не был уверен, что пошло не так. потому что сложность этого алгоритма равна O (n), и я сомневаюсь, что существует алгоритм, который может лучше, чем O (n). Есть идеи?
public static LinkedList(LinkedList header){
if(header.val%2 != 0){
header = header.next;
}
LinkedList current = header.next;
LinkedList previous = header;
while(current!=null){
if(current.val%2 != 0){
previous.next = current.next;
current = current.next;
}
}
return header;
}
Подсказка: что происходит в вашем коде, когда значение равно? – RBarryYoung
@RBarryYoung Получил это! Благодаря! –
(Теперь у вас есть _that_ понял: что, если первый элемент нечетный? Вы переустанавливаете один 'следующий' для каждого нечетнозначного элемента - это необходимо для прогонов _odds_?) – greybeard