Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,987 questions

51,931 answers

573 users

How to reverse the middle words of a string in Rust

1 Answer

0 votes
fn reverse_middle_words(input: &str) -> String {
    let words: Vec<&str> = input.split_whitespace().collect();
    let len = words.len();

    // If there are 2 or fewer words, there are no "middle" words to reverse
    if len <= 2 {
        return input.to_string();
    }

    let mut result = Vec::new();

    for (i, word) in words.iter().enumerate() {
        if i == 0 || i == len - 1 {
            // Keep the first and last words as they are
            result.push(word.to_string());
        } else {
            // Reverse the characters of the middle words
            let reversed_word: String = word.chars().rev().collect();
            result.push(reversed_word);
        }
    }

    result.join(" ")
}

fn main() {
    let input = "Hello how are you today";
    
    let modified = reverse_middle_words(input);

    println!("{}", modified);
}




/*
run:

Hello woh era uoy today

*/

 



answered Dec 25, 2025 by avibootz
...