LeetCode--387.字符串中的第一个唯一字符(C++描述)

// 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;
    }
};

猜你喜欢

转载自blog.csdn.net/qq_44614524/article/details/121224988