032 · Jewels and Stones

algorithm
Published

June 8, 2026

Problem

给定两个字符串 jewelsstones

jewels 表示哪些字符是宝石类型。stones 表示你手里拥有的石头,每个字符代表一块石头。

请返回:stones 中有多少块石头也是宝石。

注意,字符是区分大小写的。也就是说,"a""A" 是两个不同的字符。

例如:

jewels = "aA"
stones = "aAAbbbb"

这里 "a" 是宝石,"A" 也是宝石。

stones 里面有:

a A A b b b b

其中前 3 个字符 "a""A""A" 都是宝石,后面的 "b" 都不是宝石。所以答案是:

3

这道题只需要数数量,不需要返回哪些石头是宝石,也不需要修改原字符串。

Examples

示例 1

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

解释:"a""A" 都是宝石类型。stones 里一共有 3 块石头属于这两种类型。

示例 2

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

解释:"z""Z" 大小写不同。stones 里的两个 "Z" 都不是宝石。

示例 3

Input:  jewels = "abc", stones = "aabbccdd"
Output: 6

解释:"a""b""c" 都是宝石类型。stones 里有两个 "a"、两个 "b"、两个 "c",一共 6 块宝石。

Constraints

  • \(1 \leq\) jewels.length, stones.length \(\leq 50\)
  • jewelsstones 只由英文字母组成
  • jewels 中的所有字符都互不相同