题目:
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
代码:
int cmp(const void* _a, const void* _b) {
char a = *(char*)_a, b = *(char*)_b;
return a - b;
}
bool isAnagram(char* s, char* t) {
if (strlen(s) != strlen(t)) {
return false;
}
qsort(s, strlen(s), sizeof(char), cmp);
qsort(t, strlen(t), sizeof(char), cmp);
if(strcmp(s,t)==0){
return true;
}else{
return false;
}
}
思路:
首先定义一个用来比较两个字符串长度的函数供qsort函数使用,运用qsort函数对字符串进行排序,排序后用strcmp函数进行比对。
运行结果: