fn replace_last_occurrence(s: &str, char_to_replace: char, replacement_char: char) -> String {
let mut chars: Vec<char> = s.chars().collect();
if let Some(pos) = chars.iter().rposition(|&c| c == char_to_replace) {
chars[pos] = replacement_char;
}
chars.into_iter().collect()
}
fn main() {
let s = "rust c++ c python c++ java c++ php";
let char_to_replace = 'c';
let replacement_char = 'W';
let result = replace_last_occurrence(s, char_to_replace, replacement_char);
println!("{}", result);
}
/*
run:
rust c++ c python c++ java W++ php
*/