24 lines
593 B
Rust
24 lines
593 B
Rust
|
pub fn is_palindrome(number: i32) -> bool {
|
||
|
// Negative numbers can never be a palindrome because of the minus sign.
|
||
|
if number < 0 {
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
let number_string = number.to_string();
|
||
|
number_string == number_string.chars().rev().collect::<String>()
|
||
|
}
|
||
|
|
||
|
#[test]
|
||
|
fn test_palindrome_number() {
|
||
|
assert!(is_palindrome(0));
|
||
|
assert!(is_palindrome(-0));
|
||
|
assert!(is_palindrome(1));
|
||
|
assert!(is_palindrome(121));
|
||
|
assert!(is_palindrome(12321));
|
||
|
|
||
|
assert!(!is_palindrome(123));
|
||
|
assert!(!is_palindrome(321));
|
||
|
assert!(!is_palindrome(10));
|
||
|
assert!(!is_palindrome(-121));
|
||
|
}
|