LeetCode 383 赎金信
今天是Sivan坚持写题解的第13天。
解题思路
先将数组排序,之后对比ransomNote和magazine,一位一位向后找。
C语言代码实现
int cmp1(const void* e1, const void* e2);
bool canConstruct(char* ransomNote, char* magazine) {
int lenr = strlen(ransomNote);
int lenm = strlen(magazine);
int i, j;
i = 0;
j = 0;
int flag = 0;
qsort(ransomNote, lenr, sizeof(char), cmp1);
qsort(magazine, lenm, sizeof(char), cmp1); //将两个数组排序
while (j < lenm) {
if (ransomNote[i] == magazine[j]) {
i++;
j++;
flag++;
}
if (ransomNote[i] != magazine[j]) {
j++;
}
}
if (flag >= lenr) {
return true;
}
else {
return false;
}
return 0;
}
int cmp1(const void* e1, const void* e2) {
return strcmp((char*)e1, (char*)e2);
}
最后,码字不易,如果觉得写的不错的话可以点个赞或者关注一下作者。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
二维码