Open carloscn opened 1 year ago
static int32_t jewels_and_stones(const char *jewels, const char *stones, size_t *result)
{
int32_t ret = 0;
size_t jew_len = 0;
size_t sto_len = 0;
size_t i = 0;
size_t count = 0;
UTILS_CHECK_PTR(jewels);
UTILS_CHECK_PTR(stones);
UTILS_CHECK_PTR(result);
UTILS_CHECK_LEN(jew_len = strlen(jewels));
UTILS_CHECK_LEN(sto_len = strlen(stones));
for (i = 0; i < sto_len; i ++) {
if (utils_str_contains_char(jewels, stones[i])) {
count ++;
}
}
*result = count;
finish:
return ret;
}
fn jewels_and_stones(jewels:&String, stones:&String) -> Result<usize, &'static str>
{
let jew_len:usize = jewels.len();
let sto_len:usize = stones.len();
let mut count:usize = 0;
if (0 == jew_len) ||
(0 == sto_len) {
return Err("input len is wrong!\n");
}
let sto_chars = stones.chars();
for e in sto_chars {
if jewels.contains(e) {
count += 1
}
}
return Ok(count);
}
问题描述
给你一个字符串 jewels 代表石头中宝石的类型,另有一个字符串 stones 代表你拥有的石头。 stones 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
字母区分大小写,因此 "a" 和 "A" 是不同类型的石头。
示例 1: 输入:jewels = "aA", stones = "aAAbbbb" 输出:3 示例 2:
输入:jewels = "z", stones = "ZZ" 输出:0
提示:
1 <= jewels.length, stones.length <= 50 jewels 和 stones 仅由英文字母组成 jewels 中的所有字符都是 唯一的
来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/jewels-and-stones