【力扣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;
}

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

加油啦!!

相关推荐
Lisssaa5 分钟前
打卡第二十八天
数据结构·算法
第二只羽毛6 分钟前
C++ 高并发内存池2
大数据·开发语言·jvm·c++·c#
小此方8 分钟前
算法实战论01(双指针篇一):双指针的核心思想与应用场景总结
c++·算法·力扣
2401_8785302113 分钟前
C++与FPGA协同设计
开发语言·c++·算法
2301_8145902515 分钟前
C++中的装饰器模式实战
开发语言·c++·算法
weixin_6495556722 分钟前
C语言程序设计第四版(何钦铭、颜晖)第十一章指针进阶之查找星期
数据结构·算法
北顾笙98026 分钟前
day10-数据结构力扣
数据结构
2301_8042154131 分钟前
模板元编程应用场景
开发语言·c++·算法
实心儿儿35 分钟前
C++ —— 红黑树
java·开发语言·算法