/// Finds the digit that comes before the target digit when scanning from right to left.
/// Returns -1 if the target is not found or has no previous digit.
fn find_previous_digit(mut number: i32, target: i32) -> i32 {
while number > 0 {
let current = number % 10;
number /= 10;
if current == target {
return if number > 0 { number % 10 } else { -1 };
}
}
-1
}
fn main() {
let number = 8902741;
let target = 7;
let result = find_previous_digit(number, target);
if result != -1 {
println!("The digit before {} in {} is {}.", target, number, result);
} else {
println!(
"The digit {} is not found or has no previous digit in {}.",
target, number
);
}
}
/*
run:
The digit before 7 in 8902741 is 2.
*/