字符串操作题

来源:互联网 发布:酷乐潮玩淘宝 编辑:程序博客网 时间:2024/06/06 03:59




  1. 判断字符串 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;
    注意对汉字的判断即可。