#848. 拼写单词
拼写单词
题目描述
给定一张『字母表』(字符串) chars 和 一份『词汇表』(字符串数组) words, 输出所有能用 『字母表』chars 中的『字母』拼写的单词。 注意:每次拼写时,chars 中的每个字母都只能用一次。 约定所有输入的字母都是小写字母。
输入格式
第一行一个字符串表示字母表 chars。 第二行一个正整数 n。 第三行 n 个 单词。
输出格式
输出一行,所有能用 『字母表』chars 中的『字母』拼写的单词,按出现顺序输出。
样例
输入样例 1
atach
4
cat bt hat tree
输出样例 1
cat hat
输入样例 2
abcde
7
ad eat tree ae tee tea ddi
输出样例 2
ad ae
输入样例 3
iqystabcd
8
ad eat tree ae tee tea ddi di
输出样例 3
ad di
提示
分析:对于一个单词 word,只要其中的每个字母的数量都不大于 chars 中对应的字母的数量,那么就可以用 chars 中的字母拼写出 word。 所以我们只需要用一个哈希表存储 chars 中每个字母的数量,再用一个哈希表存储 word 中每个字母的数量,最后将这两个哈希表的键值对逐一进行比较即可。