第一个只出现一次的字符(OJ题)

简介: 第一个只出现一次的字符(OJ题)

本题主要思想:

创建一个新的tmp数组,用tmp数组来存储每个字符出现过的次数;
通过累加count来判断是否第一次出现;
最后通过遍历数组tmp判断字符是否第一次出现;

int FirstNotRepeatingChar(char* str ) {
    int len = strlen(str);//计算字符数组长度
    int i,j,count=0;
    int tmp[10000]={0};//创建一个新数组,用来存存储每个字符出现过的次数;
    for (i=0;i<len;i++)
    {
        count=0;
        for (j=0;j<len;j++)
        {
            if (str[i]==str[j])//如果碰到相同的字符,count就++
            {
                count++;
            }
        }
        tmp[i]=count;//把一趟遍历后这个字符的出现次数存储到tmp数组中       
    }
    for (i=0;i<len;i++)
    {
        if (tmp[i]==1)//通过遍历数组tmp判断字符是否第一次出现;
        return i;//返回第一次出现的下标
    }
    return -1;
}
相关文章
|
8月前
《剑指Offer》JZ3 数组中重复的数字
《剑指Offer》JZ3 数组中重复的数字
32 2
|
8月前
字符串——OJ题
字符串——OJ题
84 0
|
算法 程序员
【Leetcode】NC31 第一个只出现一次的字符(牛客网)、面试题 01.01. 判定字符是否唯一
题目描述: 描述 在一个长为n字符串中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)
80 0
剑指offerJZ50 数组中重复的数字
剑指offerJZ50 数组中重复的数字
53 0
|
存储 算法 C++
剑指offer(C++)-JZ50:第一个只出现一次的字符(算法-其他)
剑指offer(C++)-JZ50:第一个只出现一次的字符(算法-其他)
华为机试HJ59:找出字符串中第一个只出现一次的字符
华为机试HJ59:找出字符串中第一个只出现一次的字符
|
Serverless
华为机试HJ62:查找输入整数二进制中1的个数
华为机试HJ62:查找输入整数二进制中1的个数
|
存储 容器
华为机试HJ23:删除字符串中出现次数最少的字符
华为机试HJ23:删除字符串中出现次数最少的字符
|
存储
【剑指offer】JZ3 数组中重复的数字、 JZ4 二维数组中的查找
【剑指offer】JZ3 数组中重复的数字、 JZ4 二维数组中的查找
剑指offer 51. 字符串中第一个只出现一次的字符
剑指offer 51. 字符串中第一个只出现一次的字符
71 0

热门文章

最新文章