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
分享
二维码

)">
< <上一篇

)">
下一篇>>