zoukankan      html  css  js  c++  java
  • (字符串)字符串中首先出现两次的字符

    题目:

    给定一个字符串,请写一段代码找出这个字符串中首先出现两次的那个字符。 例如字符串为"qywyer23tdd",输出为y。

    思路:

    1、从头到尾遍历字符串str,如果str[i]为首先出现两次的字符,则满足的条件是str[i]==str[j](0<=j<i);

    2、遍历字符串时,通过类似hash数组来统计字符出现的次数,由于char字符有256个,为0-255,所以需创建一个256大小的数组,即int A[256].

    代码:

    char firstCharAppearTwice_1(string str){
        for(unsigned int i=0;i<str.length();i++){
            for(unsigned int j=0;j<i;j++){
                if(str[i]==str[j])
                    return str[i];
            }
        }
        return ' ';
    }
    char firstCharAppearTwice_2(string str){
        int hashTable[256];
        for(int i=0;i<256;i++)
            hashTable[i]=0;
    
        for(unsigned int i=0;i<str.length();i++){
            hashTable[str[i]-'0']++;
            if(hashTable[str[i]-'0']==2)
                return str[i];
        }
    
        return ' ';
    }
  • 相关阅读:
    socket 第一课
    _getitem__ __setitem__ __delitem__ __len__
    单继承&多继承 注意点
    面对对象 类&对象
    异常检测
    模块导入
    序列化模块注意点 json&pickle
    re模块
    filter和map
    Maven入门
  • 原文地址:https://www.cnblogs.com/AndyJee/p/4462758.html
Copyright © 2011-2022 走看看