LeetCode 1233. Remove Sub-Folders from the Filesystem

Problem Statement


impl Solution {
pub fn remove_subfolders(folder: Vec<String>) -> Vec<String> {
let (mut f, mut ans) = (folder, vec![]);
if f.is_empty() {
return vec![];
}
f.sort();
ans.push(f[0].clone());

for i in 1..f.len() {
let mut prefix = ans.last().unwrap().clone();
prefix.push('/');
let cur = f[i].clone();
if cur.len() < prefix.len() || cur[..prefix.len()].to_string() != prefix {
ans.push(cur);
}
}
return ans;
}
}