Leetcode
T2351第一个出现两次的字母
给你一个由小写英文字母组成的字符串 s
,请你找出并返回第一个出现 两次 的字母。
注意:
- 如果
a
的 第二次 出现比b
的 第二次 出现在字符串中的位置更靠前,则认为字母a
在字母b
之前出现两次。 s
包含至少一个出现两次的字母。
char repeatedCharacter(char * s){
int cnt[26] = {0};//26个字母
for (int i = 0; s[i]; i ++)
if (cnt[s[i] - 97]) return s[i];//第二次检测到,return字母直接退出
else cnt[s[i] - 97] ++;//第一次检测到
return;
}
学习感悟
- 通过单独的表对26个字母进行计数求解,一旦计数到2就退出循环