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

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

加油啦!!

相关推荐
松涛和鸣1 分钟前
16、C 语言高级指针与结构体
linux·c语言·开发语言·数据结构·git·算法
Booksort2 分钟前
【LeetCode】算法技巧专题(持续更新)
算法·leetcode·职场和发展
OJAC1113 分钟前
2026高校毕业生1270万!但这些学生却被名企用高薪“提前预定”!
算法
Controller-Inversion6 分钟前
岛屿问题(dfs典型问题求解)
java·算法·深度优先
小白程序员成长日记7 分钟前
力扣每日一题 2025.11.28
算法·leetcode·职场和发展
Swift社区10 分钟前
LeetCode 435 - 无重叠区间
算法·leetcode·职场和发展
sin_hielo11 分钟前
leetcode 1018
算法·leetcode
大工mike27 分钟前
代码随想录算法训练营第三十一天 | 1049. 最后一块石头的重量 II 494. 目标和 474.一和零
算法
import_random1 小时前
[机器学习]xgboost的2种使用方式
算法
自由的好好干活1 小时前
使用Qoder编写ztdaq的C#跨平台示例总结
linux·windows·c#·qoder