zoukankan      html  css  js  c++  java
  • 剑指Offer——第一个只出现一次的字符位置

    题目描述:

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


    分析:

     用一个数组统计每个字符出现的次数。

    再次扫描数组,如果找到第一个字符次数为1的,那么返回它的位置。


    代码:

     1 class Solution {
     2 public:
     3     int FirstNotRepeatingChar(string str) {
     4         int strLen = str.length();
     5         int times['z' + 1];
     6         memset(times, 0, sizeof(int) * ('z' + 1));
     7         for(int i = 0; i < strLen; i++) {
     8             times[str[i]]++;
     9         }
    10         for(int i = 0; i < strLen; i++) {
    11             if(times[str[i]] == 1) {
    12                 return i;
    13             }
    14         }
    15         return -1;
    16     }
    17 };
  • 相关阅读:
    异步非阻塞
    jdbc简单入门
    网络编程
    多线程
    java方法
    java之面向对象
    java-多线程
    Java之反射机制
    使用C#完成冒泡排序
    TextEdit不能空验证设置
  • 原文地址:https://www.cnblogs.com/jacen789/p/7747672.html
Copyright © 2011-2022 走看看