diff --git a/src/exercises/medium.rs b/src/exercises/medium.rs new file mode 100644 index 0000000..0415208 --- /dev/null +++ b/src/exercises/medium.rs @@ -0,0 +1,23 @@ +pub fn longest_palindrome(value: &str) -> String { + let mut lp: String = "0".to_string(); + let input_size = value.len() - 1; + + for pal_size in 2..=input_size { + for i in 0..input_size { + if input_size - i < pal_size { + break; + } + if let Some(slice) = value.get(i..(i + pal_size - 1)) { + // let reverted_slice = slice.chars().rev().collect::(); + // if string was mutable, we count use .reserve() + let reverted_slice = slice.chars().rev().collect::(); + if slice == reverted_slice { + lp = reverted_slice; + break; + } + } + } + } + + lp +}