387. First Unique Character in a String
Given a string, find the first non-repeating character in it and return it’s index. If it doesn’t exist, return -1.
.
从给定的字符串中找到第一个不重复的字母,并输出其在字符串中的指针位置(第一个字母的位置为0)。若没找到,则输出-1。
Examples:
s = “leetcode”
return 0.
s = “loveleetcode”,
return 2.
-----------------------------------------------------------------------代码如下------------------------------------------------------------------------------
int firstUniqChar(char * s){
int i=0,j=0,sum=0;//i,j用于循环计数,sum用于记录是否有重复字符
int len=strlen(s);
if(len==0){
return -1;//0个字符时,函数结果返回-1
};
if(len==1){
return 0;//只有1个字符时,第s[0]即为所求,函数输出值为0
};
for(i=0;i<len;i++){
for(j=0;j<len;j++){
if(s[i]==s[j]&&i!=j){//字符串的每一位,分别和除了自己以外所有位进行比较。
sum++;//若有相同的,则sum+1
break;//发现重复,跳出当前循环,对下一位继续进行逐位比对
}
}
if(sum==0){
return i;//该位循环对比后都没有重复,则函数输出该s[i]位所在的位置i;
}
sum=0;//清零,继续对下一位进行逐位比对;
}
return -1;//若没有发现无重复的字母(sum==0),则函数输出-1;
}