Files
leetcode/0007-reverse-integer/src/main.rs
T
2026-09-04 15:56:45 +02:00

44 lines
714 B
Rust

fn main() {
println!("Hello, world!");
}
fn try_reverse(x: i32) -> Option<i32> {
let mut i = x;
let mut result: i32 = 0;
while i != 0 {
let digit = i % 10;
result = result.checked_mul(10)?.checked_add(digit)?;
i /= 10;
}
Some(result)
}
pub fn reverse(x: i32) -> i32 {
try_reverse(x).unwrap_or(0)
}
#[cfg(test)]
mod tests {
use crate::reverse;
#[test]
fn test_1() {
assert_eq!(reverse(123), 321);
}
#[test]
fn test_2() {
assert_eq!(reverse(-123), -321);
}
#[test]
fn test_3() {
assert_eq!(reverse(120), 21);
}
#[test]
fn test_4() {
assert_eq!(reverse(1534236469), 0);
}
}