Untitled
unknown
javascript
a year ago
799 B
6
Indexable
const predFilter = (list, pred) => { if (null == list) return; // list è la lista (prima chiamata) oppure un nodo interno, in ogni caso devo iniziare i controlli dal next perché: // lista: il primo nodo sta in list.next // nodo: list a questo punto è un nodo che non soddisfa pred, quindi iniziamo dal togliere quelli successivi let node = list.next; // fintanto che non arrivo alla fine (node == null) e trovo nodi che soddisfano pred while(node && pred(node.val)) node = node.next // passo al nodo successivo // qui node è null oppure ha un valore che non soddisfa pred list.next = node; // qui lo appendo alla lista (prima chiamata) o a un nodo interno predFilter(list.next, pred) // ricomincio dal nodo trovato }
Editor is loading...
Leave a Comment