题目:
给出一串字符串,找出其中第一个不重复的字符,返回它的索引
思路:
暴力求解:
1、算字符串长度
2、while循环作为外循环,for循环作为内循环,依次遍历,如果有相同的跳过,没有相同的输出,输出一个就直接break结束。
代码:
cs
int firstUniqChar(char* s) {
int kk=0;
int k=strlen(s);
if(k==1)
{
return 0;
}
while(k--)
{
for(int j=0;j<strlen(s);j++)
{
if(s[kk]==s[j]&&kk!=j)
{
goto lable;
}
else if(s[kk]==s[j]&&kk!=j&&kk==(strlen(s)-1))
{
goto lable1;
}
}
return kk;
break;
lable:
kk++;
}
lable1:
return -1;
}
当然也可以使用两个for循环实现
代码如下:
cs
int firstUniqChar(char* s) {
int kk=0;
int k=strlen(s);
if(k==1)
{
return 0;
}
for(int i=0;i<k;i++)
{
for(int j=0;j<strlen(s);j++)
{
if(s[kk]==s[j]&&kk!=j)
{
goto lable;
}
else if(s[kk]==s[j]&&kk!=j&&kk==(strlen(s)-1))
{
goto lable1;
}
}
return kk;
break;
lable:
kk++;
}
lable1:
return -1;
}
希望今天的自己比昨天更好!
加油啦!!