diff options
Diffstat (limited to 'longest-common-prefix/src')
| -rw-r--r-- | longest-common-prefix/src/main.rs | 30 | 
1 files changed, 30 insertions, 0 deletions
diff --git a/longest-common-prefix/src/main.rs b/longest-common-prefix/src/main.rs new file mode 100644 index 0000000..9e573c1 --- /dev/null +++ b/longest-common-prefix/src/main.rs @@ -0,0 +1,30 @@ +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>) -> 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() +    } +} +  | 
