## 771. Jewels and Stones

You're given strings jewels representing the types of stones that are jewels, and stones representing the stones you have. Each character in stones is a type of stone you have. You want to know how many of the stones you have are also jewels.

Letters are case sensitive, so "a" is considered a different type of stone from "A".

Example 1:

Input: jewels = "aA", stones = "aAAbbbb"
Output: 3

Example 2:

Input: jewels = "z", stones = "ZZ"
Output: 0

Constraints:

• 1 <= jewels.length, stones.length <= 50
• jewels and stones consist of only English letters.
• All the characters of jewels are unique.

## Rust Solution

struct Solution;

use std::collections::HashSet;

impl Solution {
fn num_jewels_in_stones(j: String, s: String) -> i32 {
let mut hs: HashSet<char> = HashSet::new();
for c in j.chars() {
hs.insert(c);
}
let mut res = 0;
for c in s.chars() {
if hs.contains(&c) {
res += 1;
}
}
res
}
}

#[test]
fn test() {
let j = "aA".to_string();
let s = "aAAbbbb".to_string();
assert_eq!(Solution::num_jewels_in_stones(j, s), 3);
let j = "z".to_string();
let s = "ZZ".to_string();
assert_eq!(Solution::num_jewels_in_stones(j, s), 0);
}

Having problems with this solution? Click here to submit an issue on github.