【剑指offer】第一个只出现一次的字符

来源:互联网 发布:淘宝发布宝贝教程2016 编辑:程序博客网 时间:2024/05/22 06:17
时间限制:1秒 空间限制:32768K 热度指数:63759

本题知识点: 字符串

题目描述

在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符,并返回它的位置。其余返回-1。

思路:老套路,先遍历一次string,把每个字符出现的次数保存在一个hash[256]中,然后再从头搜索string,找到第一个hash值为1的字符即可。

class Solution {public:    int FirstNotRepeatingChar(string str)     {                int hash[256] = {0};        for(auto s:str)            hash[s]++;                for(int i=0; i<str.length(); i++)            if(hash[str[i]] == 1)                return i;        return -1;    }};


原创粉丝点击