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

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

加油啦!!

相关推荐
z人间防沉迷k1 小时前
堆(Heap)
开发语言·数据结构·笔记·python·算法
hy.z_7771 小时前
【数据结构】链表 LinkedList
java·数据结构·链表
不二狗2 小时前
每日算法 -【Swift 算法】Two Sum 问题:从暴力解法到最优解法的演进
开发语言·算法·swift
LabVIEW开发2 小时前
LabVIEW中样条插值实现及应用
算法·labview知识
ROCKY_8172 小时前
数据结构——例题3
数据结构
LabVIEW开发2 小时前
LabVIEW机械振动信号分析与故障诊断
算法·labview知识·labview开发案例
炯哈哈2 小时前
【上位机——WPF】Window标签常用属性
开发语言·c#·wpf·上位机
ROCKY_8172 小时前
数据结构——例题2
数据结构
Akiiiira2 小时前
【数据结构】队列
java·开发语言·数据结构
啊我不会诶2 小时前
CF每日5题(1300-1500)
算法·深度优先·图论