经典指数          
原因
1908
浏览数
0
收藏数
 

判断字符串 b 的所有字符是否都再字符串 a 中出现过,a,b都是可能包含汉字的字符串。b中重复出现的汉字,那么a中也要至少出现相同的次数。 汉字使用gbk编码(简单的所,用两个字节表示一个汉字,高字节最高位为1的代表汉字,低字节最高位可以不为1)。 int is_include(char *a  ,  char *b) 返回0 表示没有都出现过,返回1表示都出现过。

     举报   纠错  
 
切换
1 个答案

其实这题

跟正常的字符串查找是一样的,在字符串中可能出现asc码和汉字两种情况,而一般asc码是0~127,汉字第一个字符最高位是1,所以远大于127

只要我们在遍历的时候,做一个判断,如果该字符在0~127的话 就是asc码,如果大于127 说明该字符跟下个字符组成一个汉字,在进行匹配。

 
切换
撰写答案