387. First Unique Character in a String

C++

class Solution {
public:
    int firstUniqChar(string s) {
        int m[26];
        for(int i=0;i<26;i++)
        {
            m[i]=0;
        }
        for(int j=0;j<s.length();j++)
        {
            m[s[j]-97]++;
        }
        for(int k=0;k<s.length();k++)
        {
            if(m[s[k]-97]==1)
            return k;
        }
        return -1;
    }
};

Java

public class Solution {
    public int firstUniqChar(String s) {
        int m[]=new int[26];
        for(int j=0;j<s.length();j++)
        {
            m[s.charAt(j)-97]++;
        }
        for(int k=0;k<s.length();k++)
        {
            if(m[s.charAt(k)-97]==1)
            return k;
        }
        return -1;
    }
}

Javascript

/**
 * @param {string} s
 * @return {number}
 */
var firstUniqChar = function(s) {
        var m=[];
        for(var j=0;j<s.length;j++)
        {
            if(!m[s[j]])
            m[s[j]]=0;
            m[s[j]]++;
        }
        for(var k=0;k<s.length;k++)
        {
            if(m[s[k]]==1)
            return k;
        }
        return -1;
};

最优解,一样

注意C++中int数组定义后,值随机,Java中定义后值为0

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容