How to get intersection of two strings in Rust

1 Answer

0 votes
use std::collections::HashSet;

fn string_intersection(s1: &str, s2: &str) -> String {
    let set1: HashSet<char> = s1.chars().collect();
    let set2: HashSet<char> = s2.chars().collect();

    // Find the intersection of the two sets
    let intersection: HashSet<_> = set1.intersection(&set2).cloned().collect();

    // Convert the intersection back to a String
    intersection.into_iter().collect()
}

fn main() {
    let str1 = "php";
    let str2 = "python";

    let result = string_intersection(str1, str2);
    
    println!("Intersection: {}", result);
}

 
 
/*
run:
   
Intersection: ph

*/
 

 



answered Jul 7, 2025 by avibootz
...