题解 | #第一个只出现一次的字符#
第一个只出现一次的字符
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;