【力扣C语言】每日一题—第387题,字符串中第一个唯一字符

题目:

给出一串字符串,找出其中第一个不重复的字符,返回它的索引

思路:

暴力求解:

1、算字符串长度

2、while循环作为外循环,for循环作为内循环,依次遍历,如果有相同的跳过,没有相同的输出,输出一个就直接break结束。

代码:

cs 复制代码
int firstUniqChar(char* s) {
    int kk=0;
   int k=strlen(s);
   if(k==1)
   {
        return 0;
   }
    while(k--)
    {
        for(int j=0;j<strlen(s);j++)
        {
            if(s[kk]==s[j]&&kk!=j)
            {
                goto lable;
            }
            else if(s[kk]==s[j]&&kk!=j&&kk==(strlen(s)-1))
            {
                goto lable1;
            }
            
        }
        return kk;
        break;
lable:
        kk++;
     
    }
lable1:
    return -1;
}

当然也可以使用两个for循环实现

代码如下:

cs 复制代码
int firstUniqChar(char* s) {
    int kk=0;
   int k=strlen(s);
   if(k==1)
   {
        return 0;
   }
    for(int i=0;i<k;i++)
    {
        for(int j=0;j<strlen(s);j++)
        {
            if(s[kk]==s[j]&&kk!=j)
            {
                goto lable;
            }
            else if(s[kk]==s[j]&&kk!=j&&kk==(strlen(s)-1))
            {
                goto lable1;
            }
            
        }
        return kk;
        break;
lable:
        kk++;
     
    }
lable1:
    return -1;
}

希望今天的自己比昨天更好!

加油啦!!

相关推荐
wuminyu6 小时前
Kafka中sendfile与mmap实现机制解析
java·linux·c语言·jvm·c++
GreenTea7 小时前
vLLM 与 SGLang KV Cache 底层实现机制深度调研报告
前端·后端·算法
Blockbuater_drug7 小时前
FreeSASA: 开源 SASA 计算库,pip 一条命令替代 NACCESS
c语言·开源·sasa·freesasa·溶剂可及表面积·naccess·python api
Bode_20027 小时前
多资源规划(含生产调度、库存管理及产能规划)的创新优化算法
算法·调度
Logic1018 小时前
C语言/数据结构位运算题解:异或XOR找出蛋糕订单中的“VIP独特口味“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
土司大王8 小时前
LeetCode hot100——35.搜索插入位置:Java 二分模板、左闭右开区间与插入点分析
java·算法·leetcode
微三云生态系统架构师-彭丹8 小时前
远方好物S2B2C系统架构:一级分销与保证金托管的合规技术实现
人工智能·算法
土司大王8 小时前
LeetCode hot100——34.在排序数组中查找元素的第一个和最后一个位置:Java 二分模板、边界分析
java·算法·leetcode
Logic1019 小时前
C语言/数据结构位运算题解:异或XOR找出飞行棋中的“独特颜色棋子“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
爱吃苹果的日记本9 小时前
数据结构第三课(时间复杂度)
数据结构·学习