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.

771. Jewels and Stones
``````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);
}
``````