找出字符串中第一个只出现一次的字符

本文介绍了一种算法,用于从输入字符串中找到第一个仅出现一次的字符。通过遍历字符串并使用数组记录每个字符出现的频率来实现。如果找到仅出现一次的字符,则返回该字符;如果没有这样的字符,则返回'.'。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述:

找出字符串中第一个只出现一次的字符

详细描述:

原型: bool FindChar(char* pInputString, char* pChar);

输入参数: char* pInputString:字符串

输出参数(指针指向的内存区域保证有效): char* pChar:第一个只出现一次的字符

如果无此字符,请输出'.'

知识点: 字符串, 循环

输入: 输入一串字符

输出: 输出一个字符

样例输入: asdfasdfo

样例输出: o

代码:

#include <iostream>  
#include <string>  
using namespace std;  
int main()  
{  
    string str;  
    int i;  
    getline(cin, str);  
    int len = str.size();  
    int freq[26] = { 0 };  
    for (i = 0; i < len; i++)  
        freq[str[i] - 'a']++;  
    for (i = 0; i < len; i++)  
        if (freq[str[i] - 'a'] == 1)  
        {  
            cout << str[i] << endl;  
            return 0;  
        }  
    cout << '.' << endl;  
    return 0;  
}  
得分运行时间内存复杂度最大嵌套深度
100(98)16ms2040KB43

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值