- 题目描述:
图片说明
- 题目链接:
https://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c?tpId=188&&tqId=38575&rp=1&ru=/activity/oj&qru=/ta/job-code-high-week/question-ranking

- 设计思想:
(https://uploadfiles.nowcoder.com/images/20210915/9980465_1631716978400/9A541E665EA427F182066C9B23173AE9 "图片标题")

-视频讲解链接B站视频讲解
- 复杂度分析:
图片说明
- 代码:
c++版本:

class Solution {
public:
    int FirstNotRepeatingChar(string str) {
        int vis[125] = {0}; // 存储字母出现的次数
        //统计出现的次数
        for(int i = 0;i < str.size();i ++){
            vis[str[i]] ++;
        }
        //遍历字符串,若只出现一次则返回下标
        for(int  i = 0;i < str.size();i ++){
            if(vis[str[i]] == 1){
                return i;
            }
        }
        return -1;
    }
};

Java版本:

public class Solution {

    public int FirstNotRepeatingChar(String str) {
        int[] vis = new int[125]; // 存储字母出现的次数
        //统计出现的次数
        for(int i = 0;i < str.length();i ++){
            vis[str.charAt(i)] ++;
        }
        //遍历字符串,若只出现一次则返回下标
        for(int  i = 0;i < str.length();i ++){
            if(vis[str.charAt(i)] == 1){
                return i;
            }
        }
        return -1;
    }
}

Python版本:

# -*- coding:utf-8 -*-
class Solution:
    def FirstNotRepeatingChar(self, s):
        # write code here
        vis = [0] * 125#存储字母出现的次数
        #统计出现的次数
        for i in range(len(s)):
            vis[ord(s[i])] += 1
        #遍历字符串,若只出现一次则返回下标
        for i in range(len(s)):
            if(vis[ord(s[i])] == 1):
                return i
        return -1

JavaScript版本:

function FirstNotRepeatingChar(str)
{
    // write code here
         let vis = {} // 存储字母出现的次数
        //统计出现的次数
        for(let i = 0;i < str.length;i ++){
            let key = str[i];
            if(!vis[key]){
                vis[key] = 0;
            }
            vis[key]++;
        }
        //遍历字符串,若只出现一次则返回下标
        for(let  i = 0;i < str.length;i ++){
            let key = str[i];
            if(vis[key] == 1){
                return i;
            }
        }
        return -1;
}
module.exports = {
    FirstNotRepeatingChar : FirstNotRepeatingChar
};