Hallo,
wieso setzte man prev.next= temp.next nur wenn temp.next!= null ist? Auch wenn temp.next == null wäre muss man doch temp.next = null setzen oder nicht?
Der Fall wird hier gar nicht beachtet? Und wie soll man temp.next.prev = prev sezten wenn temp.next == null wäre?
(Die Methode soll eine übergebene int aus einer doppelt verketteten Liste entfernen)
wieso setzte man prev.next= temp.next nur wenn temp.next!= null ist? Auch wenn temp.next == null wäre muss man doch temp.next = null setzen oder nicht?
Der Fall wird hier gar nicht beachtet? Und wie soll man temp.next.prev = prev sezten wenn temp.next == null wäre?
(Die Methode soll eine übergebene int aus einer doppelt verketteten Liste entfernen)
Code:
public class Node {
int val;
Node next;
Node prev;
}
class List{
int val;
Node next;
}
public void deleteItem(int i){
if (first == null){
return;
}
Node temp = first;
if (first.val == i){
first = first.next;
first.prev = null;
}
while (temp.next != null && temp.val != i){
temp= temp.next;
}
if (temp.val == i){
Node prev = temp.prev;
if(temp.next != null) {
prev.next = temp.next;
}
temp.next.prev= prev;
}
}