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

每日一练社区 2021-08-11 11:50:17

输入描述:

输入一个非空字符串

输出描述:

输出第一个只出现一次的字符,如果不存在输出-1

示例1

输入:

asdfasdfo

输出:

o

以下程序实现了这一功能,请你补全空白处内容:

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string str;
    while (getline(cin, str))
    {
        int a[256] = {0};
        bool flag = false;
        for (int i = 0; i < str.size(); ++i)
            ____________________;
        for (int i = 0; i < str.size(); ++i)
        {
            if (a[str[i]] == 1)
            {
                cout << str[i] << endl;
                flag = true;
                break;
            }
        }
        if (flag == false)
            cout << "-1" << endl;
    }
    return 0;
}
...全文
864 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
能选出来,但是过程不理解 没看懂怎么比较的
Top丶s 2023-08-11
  • 打赏
  • 举报
回复 1

第一个for已经完全结束,前置++ 后置++效果应该是一样的才对呀??

czy8787475 2023-02-24
  • 打赏
  • 举报
回复 1
我用vscode 调试过++在a前和后都一样的?
fenmoney 2023-07-27
  • 举报
回复 1
@czy8787475 我也认为是一样的
m0_72680969 2022-11-12
  • 打赏
  • 举报
回复
一次过
based_vision 2022-10-24
  • 打赏
  • 举报
回复
输出第一个只出现一次的字符这里代码没有体现吧,它输出的是阿斯卡代码里最靠前的只出现一次的字符
Binary_Hp 2022-10-13
  • 打赏
  • 举报
回复
有趣的写法,确实第一次选了后置自增,提示错误,于是选了前置自增,但我想在这里前置自增和后置自增都没问题,只有性能的区别。
czy8787475 2023-02-24
  • 举报
回复
@Binary_Hp 性能有什么区别?
  • 打赏
  • 举报
回复 2
题的思路就是:(阿斯克码)(英文忘记),所以定义了256长度的数组,输入的字符串中出现一次就在对应的位置加一,所以就可以得到结果。就是我开始选的后加加,不知道为什么不行。答案是前加加。
0oOOvo 2022-07-24
  • 打赏
  • 举报
回复 1
哦哦哦,每个字符对应一个ascll码,ascll作为a数组的索引,出现一次的字母对应的a数组元素就是1,其他就至少是2
weixin_41725012 2022-03-20
  • 打赏
  • 举报
回复
字符只有256个吧吗?ASCII码是,但其他编码不是,比如unicode
  • 打赏
  • 举报
回复
CD都行啊,中间有一个把字符当数字用,所以a定义了256个
YYY__77 2022-03-02
  • 打赏
  • 举报
回复 3
没看懂呀,有人解释一下吗
weixin_44757985 2022-02-24
  • 打赏
  • 举报
回复 2

确实前置版本和后置版本都可以

琅琊343 2022-02-22
  • 打赏
  • 举报
回复 1
为什么要自增不理解
weixin_39677082 2022-02-19
  • 打赏
  • 举报
回复 1
题有问题,前置和后置都可以的
要永遠相信光 2022-01-10
  • 打赏
  • 举报
回复
前置++和后置++都可以,只是效率的不同。但答案确实前置++。
Magic Hertha 2021-12-29
  • 打赏
  • 举报
回复
求大佬讲解一下
主持人 小五 2021-12-13
  • 打赏
  • 举报
回复 4
我是真没看懂,咋没比较呢

11,501

社区成员

发帖
与我相关
我的任务
社区描述
Study well and make progress every day
其他 企业社区
社区管理员
  • 每日一练社区
  • CSDN学习
  • 幻灰龙
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧