Hello,
As I said in the previous post that I have started learning Rust and made a simple fibonacci series generator. Today I made a palindrome string checker. it’s very basic. I haven’t used Enum or Struct in the code since I don’t think it’s necessary in this simple code.
here is the code:
use std::io;
fn main() {
let mut input = String::new();
let stdin = io::stdin();
stdin.read_line(&mut input).unwrap(); // we want to exit in case it couldn't read from stdin
input = input.replace("\n", ""); // Removing newline
let mut is_palindrome: bool = true;
for i in 0..input.len()/2 {
let first_char: &str = &input[i..i+1];
let last_char: &str = &input[input.len()-i-1..input.len()-i];
if first_char != "\n" {
if first_char != last_char {
is_palindrome = false;
}
}
}
println!("palindrome: {}", is_palindrome);
}
Aside from the better solution with iterators that Flipper mentioned, you can also:
is_palindrome
- it will be inferred asbool
anywaybreak;
after settingis_palindrome = false
(0..input.len()/2).all(|i| ...)
iterator method instead.Thank you for the suggestion, I will keep these in mind.