How to find missing alphabet characters from a string in Rust

1 Answer

0 votes
use std::collections::HashSet;

fn get_missing_alphabet_chars(input: &str) -> Vec<char> {
    // Full alphabet as a set
    let alphabet: HashSet<char> = ('a'..='z').collect();

    // Normalize input: lowercase + keep only letters a–z
    let present: HashSet<char> = input
        .to_lowercase()
        .chars()
        .filter(|c| c.is_ascii_lowercase())
        .collect();

    // Difference: alphabet minus present letters
    let mut missing: Vec<char> = alphabet
        .difference(&present)
        .copied()
        .collect();

    missing.sort();
    missing
}

fn main() {
    let missing = get_missing_alphabet_chars("Rust Programming");
    
    println!("{:?}", missing);
}




/*
run:

['b', 'c', 'd', 'e', 'f', 'h', 'j', 'k', 'l', 'q', 'v', 'w', 'x', 'y', 'z']

*/

 



answered Mar 8 by avibootz
...