【leetcode】383 Ransom Note

重组单词


描述

给定一个目标字符串 s ,给定一个源字符串 t,判断 s 能否由 t 构成

样例

样例1

1
2
输入: s="aa" t ="ab"
输出: false

样例2

1
2
输入: s="aa" t ="aab"
输出: true

思路

统计单词,减去单词。

int a[10];
memset(a,0,sizeof(a));
是这样用的,后面不是 sizeof(a)/sizeof(a[0]);

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
public:
bool canConstruct(string ransomNote, string magazine) {
int maps[255] = {};
memset(maps, 0, sizeof(maps));
for (auto c : magazine) {
maps[c] ++;
}
for (auto c : ransomNote) {
maps[c]--;
if (maps[c]<0) {
return false;
}
}
return true;
}
};

参考

原题链接