@
SakuraSa @
einq7 前缀树代码有些 bug 和部分情况没有处理,而且可以在建立前缀树的时候同时对数据进行处理,这样数据只需要走一遍了,只修改了一点同时减少了代码量。
```js
function filter_file_path(path_list) {
// build perfixes tree
let root = {'__size__': 0};
var output = [];
path_list.forEach(path => {
var state = {'node': root};
var update = false;
path.forEach(part => {
if (state.node[part] === undefined) {
update=true;
state.node[part] = {'__size__': 0};
state.node.__size__ ++;
}
state.node = state.node[part];
});
//new tree, add to output list
if(update === true) {
output.push(path);
update=false;
}
});
return output;
}
```