题解 | #找出字符串中第一个只出现一次的字符#

找出字符串中第一个只出现一次的字符

http://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4

比较笨的解法,(个人感觉用map是较为恰当的方式,参考其他大佬用map的方法)具体思想如下:

第一轮循环:因为ASCII码总共有128个,所以不妨简历一个有128个元素的数组,然后借用HASH访问的思想,为每个字符元素对应的ASCII编码的编号所在的数组元素,对应位置的元素每出现一次,便令数组元素加1

第二轮循环:根据第一轮循环处理过后的数组,按照字符出现的顺序,逐个判断其出现次数,若为1,则找到了第一个总共出现次数只有一次的字符,否则无

#include <iostream>
using namespace std;
 
int main(){
    string str;
    cin >> str;
    string res = "-1";
    int arr[128] = {0};
    int len = str.length();
    for(int i = 0; i < len; i++){
        int number = int(str[i]);
        arr[number]++;
    }
    for(int i = 0; i < len; i++){
        int number = int(str[i]);
        if(arr[number] == 1){
            res = str[i];
            break;
        }
    }
    cout << res << endl;
    return 0;
}
全部评论
如果题解里有空格,或者其他大写字母呢
点赞 回复 分享
发布于 2022-04-02 20:41

相关推荐

活泼的代码渣渣在泡池...:哈哈哈挺好的,我也上岸美团了,不说了,我又接了一单
点赞 评论 收藏
分享
程序员花海_:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务