remove the smallest element from a linkedlist

public void removeSmallest() {
   Node smallest = head; 
   Node temp = head;
   Node prev = null;

   while(temp != null) {
      if(temp.next != null && temp.next.data < smallest.data){
        smallest = temp.next;
        prev = temp;
      }
     temp = temp.next;
   }

   if(smallest != head) { //First element is not min
      prev.next = smallest.next;
   } else {
       head = head.next; //If first element is smallest, update the head
   }
}

 

posted @ 2020-09-13 20:52  Jasper2003  阅读(76)  评论(0)    收藏  举报