LeetCode389. 找不同

https://leetcode-cn.com/problems/find-the-difference/submissions/

给定两个字符串 s 和 t,它们只包含小写字母。
字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
请找出在 t 中被添加的字母。
示例:
输入:
s = “abcd”
t = “abcde”
输出:
e
解释:
‘e’ 是那个被添加的字母。

思路:利用数组下标

char findTheDifference(char* s, char* t) {
    int letter[26] = {0};
    int i = 0;
    int slen = strlen(s);
    int tlen = strlen(t);
    
    for(i = 0; i < slen; i++){
        letter[*s++ - 'a']++;
        letter[*t++ - 'a']--;
    }
    letter[*t - 'a']--;
    
    for(i = 0; i < 26; i++){
        if(-1 == letter[i]){
            return i + 'a';
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_34595352/article/details/88060905
今日推荐