题目描述
给定两个字符串 s 和 t ,它们只包含小写字母。
字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
请找出在 t 中被添加的字母。
问题分析
根据题目描述我们可以知道,因为t是s重排之后添加一个字符得到的,所以如果删去添加的字符的话,t应该和s中字符出现的次数一样,但是因为额外添加了一个所以,某一个字符应该比s中对应的字符出现的次数多一次,由此可以写出下面的代码。
代码
char findTheDifference(char* s, char* t) {
int a[26]={0};
for(int i = 0; s[i]!='\0'; i++){
a[s[i]-'a']++;
}
for(int i = 0; t[i]!='\0'; i++){
a[t[i]-'a']--;
}
for(int i=0; i<26; i++){
if(a[i]<0){
return i+'a';
}
}
return 0;
}
提交结果截图

1477

被折叠的 条评论
为什么被折叠?



