Связанный список (если не отсортирован) не является лучшей структурой для того, что вы пытаетесь сделать здесь, так как у вас нет другого выбора, кроме как выполнить линейный поиск и удалить самый большой элемент
Integer biggest = Integer.MIN_VALUE;
for(Integer e : myList){
if(biggest < e)
biggest = e;
}
myList.remove(biggest);
это будет O (n), даже если вам придется сканировать снова, чтобы удалить самое большое, этого второго сканирования можно было бы избежать, если бы вы сделали свой собственный LinkedList, потому что java.util.LinkedList скрывает свой класс Entry и не позволяет Вы можете изменить указатели; но это был бы неправильный способ оптимизации, потому что если вместо этого вы используете структуру, подобную куче, в java, которая будет классом PriorityQueue, вы можете получить O (log (n)) и уменьшить код до:
return myPriorityQueue.poll();