- 判断字符串 b 的所有字符是否都再字符串 a 中出现过
判断字符串 b 的所有字符是否都再字符串 a 中出现过,a,b都是可能包含汉字的字符串。b中重复出现的汉字,那么a中也要至少出现相同的次数。
汉字使用gbk编码(简单的所,用两个字节表示一个汉字,高字节最高位为1的代表汉字,低字节最高位可以不为1)。
int is_include(char *a , char *b)
返回0 表示没有都出现过,返回1表示都出现过。
我的解法:
将字符串a建树(如avl树),每个结点是一个字符,重复的统计计数。
将b中的字符依次插入,如果插入失败(树中有此结点)则计数减1;
如果插入成功,说明b中出现了a中没有的字符,返回0;
注意对汉字的判断即可。