How to check if each letter in a string maps to the first letter of a word in another string with Rust

1 Answer

0 votes
fn matches_pattern(pattern: &str, sentence: &str) -> bool {
    let words: Vec<&str> = sentence
        .split_whitespace()
        .collect();

    // Length mismatch → automatic failure
    if pattern.len() != words.len() {
        return false;
    }

    // Compare each pattern character to the first letter of each word
    for (p, w) in pattern.chars().zip(words.iter()) {
        if p.to_ascii_lowercase() != w.chars().next().unwrap().to_ascii_lowercase() {
            return false;
        }
    }

    true
}

fn main() {
    let pattern = "jpcrg";
    let sentence = "java python c rust go";

    if matches_pattern(pattern, sentence) {
        println!("Pattern matches!");
    } else {
        println!("Pattern does NOT match.");
    }
}




/*
run:

Pattern matches!

*/

 



answered Jan 6 by avibootz

Related questions

...