美文网首页
242. 有效的字母异位词

242. 有效的字母异位词

作者: 六十年目裁判长亚玛萨那度 | 来源:发表于2019-01-09 18:20 被阅读0次

题目描述:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。

难度:简单

输入: s = "abba", t = "abab"
输出: true

输入: s = "", t = ""
输出: true

void haha(char *str, int *code) {
    int len = strlen(str);
    while (len > 0) {
        code[str[len - 1]] += 1;
        len -= 1;
    }
    return ;
}

bool isAnagram(char* s, char* t) {
    if (strlen(s) != strlen(t)) return false ;
    int code1[260] = {0}, code2[260] = {0};
    haha(s, code1);
    haha(t, code2);
    for (int i = 0; s[i]; i++) {
        if (code1[s[i]] == code2[s[i]]) continue;
        return false;
    }
    return true;
}

因为他们的长度肯定是一样的,那么:

假设code1(s的信息)里面的和code2(t的信息)是一样的,那么这个时候拿出任意一个串,比如s串,让:
code1[s[i]] == code2[s[i]]
查看在code2中的字符信息和s每位的字符信息是不是一样的,如果是,并且长度一样,那么必然是符合题目要求的。

相关文章

网友评论

      本文标题:242. 有效的字母异位词

      本文链接:https://www.haomeiwen.com/subject/viggrqtx.html