此方法允许删除线性列表中的所有底片。我将if循环标记为100%我不理解。因此,此方法遍历整个列表。其余代码完全有意义。但是我唯一的问题是为什么会head = n.next在何时prev == null?这是因为现在有两个“空格”并且不允许这样做吗?(两个空格,因为prev = null和n必须也为null,因为它在if循环中跳转为负数)
ListNode prev = null;
ListNode n = head;
while (n != null) {
if (n.val < 0) {
if (prev == null) { //this if- loop i don´t understand
head = n.next;
}
else {
prev.next = n.next;
}
}
else {
prev=n;
n = n.next;
}
}
慕沐林林
相关分类