fn main() { println!("Hello, world!"); let tests = [ (vec!["flower","flow","flight"], "fl"), (vec!["dog","racecar","car"], "") ]; for test in tests { println!("{:?} is {} should be {}", test.0, Solution::longest_common_prefix(test.0.iter().map(|s| s.to_string()).collect()), test.1); } } struct Solution {} impl Solution { pub fn longest_common_prefix(strs: Vec) -> String { let mut index = 0; let mut c = String::new(); loop { for s in strs { let prefix = s.chars().nth(index); if prefix.is_none() {return c;} } break; } "".to_string() } }