题解 | #第一个只出现一次的字符#

第一个只出现一次的字符

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;
    


全部评论

相关推荐

投递美团等公司10个岗位
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务