zoukankan      html  css  js  c++  java
  • 剑指offer33-第一个只出现一次的字符

    在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)

    思路:map存储字符出现次数

        int FirstNotRepeatingChar(string str) {
            //if(m.empty())return -1;
            std::map<char,int>m;
           // std::map<char,int>num;
            int n=0;
            for(int i=0;i<str.size();i++)
            {
                if(m.find(str[i])!=m.end())
                {
                    m[str[i]]++;
                }else
                {
                    m.insert(pair<char,int>(str[i],1));

                }
            }
             for(int i=0;i<str.size();i++)
                {
                  if(m[str[i]]==1)
                  {
                    return i;
                  }
                }
            return -1;
        }

  • 相关阅读:
    WPF 命令基础
    委托 C#
    Volley网络请求框架的基本用法
    MailOtto 实现完美预加载以及源码解读
    Android_时间服务
    Android_Chronometer计时器
    Android_Json实例
    完结篇
    就快完结篇
    MySQL 选出日期时间最大的一条记录
  • 原文地址:https://www.cnblogs.com/trouble-easy/p/12976625.html
Copyright © 2011-2022 走看看