for word in w { if map.contains_key(&word) { continue; } map.insert(word.clone(), 1); for i in0..word.len() { letmut c = word.clone(); c.remove(i); if map.contains_key(&c) && (*map.get(&c).unwrap() + 1 > *map.get(&word).unwrap()) { map.insert(word.clone(), map.get(&c).unwrap() + 1); } } ans = std::cmp::max(ans, *map.get(&word).unwrap()); } return ans; } }