w3resource

Rust Function: Determine Palindrome

Rust Functions and Control Flow: Exercise-10 with Solution

Write a Rust function to check if a string is a palindrome.

Sample Solution:

Rust Code:

// Define a function named 'is_palindrome' that takes a string as input and returns true if it's a palindrome, false otherwise
fn is_palindrome(s: &str) -> bool {
    // Convert the string to lowercase to ignore case sensitivity
    let s_lower = s.to_lowercase();

    // Check if the reversed string is equal to the original string
    s_lower.chars().eq(s_lower.chars().rev())
}

fn main() {
    let string1 = "madam"; // Define a palindrome string
    let string2 = "hello"; // Define a non-palindrome string

    // Check if string1 is a palindrome
    if is_palindrome(string1) {
        println!("'{}' is a palindrome.", string1);
    } else {
        println!("'{}' is not a palindrome.", string1);
    }

    // Check if string2 is a palindrome
    if is_palindrome(string2) {
        println!("'{}' is a palindrome.", string2);
    } else {
        println!("'{}' is not a palindrome.", string2);
    }
}

Output:

'madam' is a palindrome.
'hello' is not a palindrome.

Explanation:

Here's a brief explanation of the above Rust code:

  • fn is_palindrome(s: &str) -> bool { ... }: This is a function named "is_palindrome()" that takes a string slice 's' as input and returns a boolean ('bool'). It checks whether the given string is a palindrome.
  • Inside the function:
    • We convert the input string 's' to lowercase using the "to_lowercase()" method ignoring case sensitivity.
    • We use the "eq()" method to compare the characters of the original string with the characters of its reverse (obtained by "rev()"). If they are equal, the function returns 'true', indicating that the string is a palindrome; otherwise, it returns 'false'.
  • In the main function,
    • Define two strings, 'string1' and 'string2'.
    • Check if each string is a palindrome using the "is_palindrome()" function and print the result.

Rust Code Editor:

Previous: Rust Function: Find Sum of array elements.
Next: Rust Ownership, Borrowing, and Lifetimes Exercises

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/rust/basic/rust-functions-and-control-flow-exercise-10.php