Leetcodeインタビューの質問50. 1回だけ現れる最初の文字[時間の複雑さはO(n)、空間の複雑さはO(26)]

問題の説明

文字列sに一度だけ現れる最初の文字を見つけます。そうでない場合は、単一のスペースを返します。

問題解決レポート

コードを参照してください。
時間の複雑さ O(n)
スペースの複雑さ 26日 O(26)

実装コード

class Solution {
public:
    char firstUniqChar(string s) {
        vector<int>lastV(26,-1);
        for(int i=0;i<s.size();i++){
            if(lastV[s[i]-'a']!=-1) lastV[s[i]-'a']=INT_MAX;
            else lastV[s[i]-'a']=i;
        }
        for(int i=0;i<s.size();i++){
            if(i==lastV[s[i]-'a']) return s[i];
        }
        return ' ';
    }
};

参考文献

[1] Leetcodeインタビューの質問50.一度だけ現れる最初の文字

MD_
139の元の記事を公開 賞賛8 10,000+ビュー

おすすめ

転載: blog.csdn.net/qq_27690765/article/details/105477138