剑指offer(31)-第一个只出现一次的字符位置

来源:互联网 发布:计算机程序员工资待遇 编辑:程序博客网 时间:2024/05/20 08:26

题目描述


在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符的位置。若为空串,返回-1。位置索引从0开始

代码


class Solution {public:    int FirstNotRepeatingChar(string str) {        map<char,int>mp;        if(str.size()==0)            return -1;        for(int i=0;i<str.size();i++) {            if(mp.count(str[i])){                mp.erase(str[i]);            }else{                mp[str[i]] = i;            }        }        for(int i=0;i<str.size();i++){            if(mp.count(str[i])){                return mp[str[i]];            }        }        return -1;    }};
0 0
原创粉丝点击