// Source : https://leetcode-cn.com/problems/first-unique-character-in-a-string/submissions/
// Date : 2021-11-9
简单题我还是重拳出击
/******************************************************************************************
题目描述:
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
示例:
s = “leetcode”
返回 0
s = “loveleetcode”
返回 2
提示:你可以假定该字符串只包含小写字母。
******************************************************************************************/
/*******************************************************************************************************
题目分析:本题就是查看哪个字符只出现了一次,因此可以从前后两个方向对每个字符进行查找,如果该字符的第一次出现位置和最后一次出现位置相同的话,则说明该字符只出现了一次。
********************************************************************************************************/
class Solution {
public:
//下面两种方式均可
int firstUniqChar(string s) {
// for(int i=0;i<s.size();i++){
// //找字符的第一次出现的位置,如果该位置也是该字符最后一次出现的位置,则返回该位置
// if(s.find(s[i])==s.rfind(s[i]))
// return i;
// }
for(char ch : s)
{
if(s.find(ch) == s.rfind(ch))
return s.find(ch);
}
return -1;
}
};