Временная сложность процесса должна составлять O(1)
.
Давайте рассмотрим пример:
private void removeBiggerNode(LinkedList list) {
ListNode currHead = list.head;
ListNode currHeadNext = currHead.next;
ListNode currTail = list.tail;
currTailPrev = list.tail.previous;
if(currHeadNext.val > currTailPrev.val) {
currHead.next = currHead.next.next;
currHead.next.prev = currHead;
}
else {
tail.prev = tail.prev.prev;
tail.prev.next = tail;
}
}
ListNode можно определить как:
public class ListNode {
ListNode next;
ListNode prev;
int val;
// constructor
ListNode(int val){ this.val = val; }
}