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

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

加油啦!!

相关推荐
MobotStone1 小时前
从金鱼记忆到过目不忘:Transformer 如何让AI真正理解一句话?
算法
炽烈小老头2 小时前
【每天学习一点算法 2025/12/19】二叉树的层序遍历
数据结构·学习·算法
Queenie_Charlie3 小时前
HASH表
数据结构·c++·哈希算法
Xの哲學3 小时前
Linux grep命令:文本搜索的艺术与科学
linux·服务器·算法·架构·边缘计算
soft20015253 小时前
MySQL Buffer Pool深度解析:LRU算法的完美与缺陷
数据库·mysql·算法
superman超哥3 小时前
仓颉语言中锁的实现机制深度剖析与并发实践
c语言·开发语言·c++·python·仓颉
夜月yeyue3 小时前
Linux 调度类(sched_class)
linux·运维·c语言·单片机·性能优化
WBluuue3 小时前
AtCoder Beginner Contest 436(ABCDEF)
c++·算法
wearegogog1233 小时前
基于C# WinForm实现的带条码打印的固定资产管理
开发语言·c#
fie88893 小时前
广义 S 变换(GST)地震信号时频谱
算法