leetcode赎金信c++
时间: 2023-11-03 10:55:05 浏览: 53
要判断一个字符串是否能由另一个字符串中的字符组成,可以使用计数的方法。下面是一个使用计数的示例代码:
```cpp
bool canConstruct(string ransomNote, string magazine) {
// 定义一个数组来存储字符的计数
int count[26] = {0};
// 遍历杂志字符串,并对出现的字符进行计数
for (char c : magazine) {
count[c - 'a']++;
}
// 遍历赎金信字符串,并对出现的字符进行计数
for (char c : ransomNote) {
count[c - 'a']--;
// 如果某个字符的计数小于0,说明杂志中没有足够的该字符,返回false
if (count[c - 'a'] < 0) {
return false;
}
}
// 如果所有字符的计数都大于等于0,说明杂志中有足够的字符组成赎金信,返回true
return true;
}
```
上述代码中,我们定义了一个长度为26的数组 `count`,用来存储字符的计数。首先,我们遍历杂志字符串 `magazine`,对出现的字符进行计数。然后,我们遍历赎金信字符串 `ransomNote`,对出现的字符进行计数,并在计数过程中检查是否有计数小于0的字符,如果有,则返回false。最后,如果所有字符的计数都大于等于0,说明杂志中有足够的字符组成赎金信,返回true。
希望对您有所帮助!如果您有任何其他问题,请随时提问。