题解 | #第一个只出现一次的字符#
第一个只出现一次的字符
http://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c
纯小白,超容易理解的简单思路:
第一层循环遍历取出字符串的元素str[i],第二层循环将所取的字符str[i]与字符串中的其它元素str[j](j=0-len,且j !=i )判断是否相等,如果不相等则返回该元素的下标;
int len=str.length();
int temp=0; //返回第一次出现字符的下标
bool flag=true; //判断是否存在相等字符的标志
for(int i=0; i<len; i++) //从0开始以此取出字符
{
for(int j=0; j<len; j++) //将取出的字符与余下的字符依次对比
{
if(i==j) {continue;} //跳过比较的字符本身
else
{
if(str[i]!=str[j]) //如果一直都是不相等的字符,则最后标志flag依然为true
{
flag=true;
continue;
}
else{flag=false;break;} //如果有相等的字符出现则结束循环
}
}
if(flag==true) {temp=i;break;}
else{temp=-1;} //全部遍历后,仍未找到,则返回-1
}
return temp;
格力公司福利 242人发布
查看20道真题和解析